php-laravel4.0框架 简单快速入门
前提必须已经安装好了laravel4.0版本。
写入权限:
安装完 Laravel ,你还需要为web服务器设置 app/storage 目录的写入权限。
目录结构:
安装完框架后,你需要熟悉一下该项目的目录结构。app 文件夹包含了一些如 views ,controllers 和 models 目录。 程序中大部分代码将要存放这些目录下。
路由:
我们开始创建我们第一个路由。在 Laravel,简单路由的方法是闭包。打开 app/routes.php 文件加入如下代码:
Route::get('users', function(){
return 'Users!';
});
现在,你在 web 浏览器输入 /users,你应该会看到 Users! 输出。真棒!已经创建了你第一个路由。路由也可以赋予控制器类。例如:
Route::get('Users', 'UserController@getIndex');
该路由告知框架 /users 路由请求应该调用 UserController 类的 getIndex 方法。
创建视图
接下来,我们要创建视图来显示我们用户数据。视图以HTML代码存放在 app/views 文件夹。我们将存放两个视图文件到该文件夹:
layout.blade.php 和 users.blade.php。首先创建 layout.blade.php 文件:
<html>
<body>
<h1>父页面</h1>
@yield('content')
</body>
</html>
接着创建 users.blade.php 视图(@extends('layout')上面不能有空行或者它的前面不能有空格,如有就会报错。):
@extends('layout')
@section('content')
Users!
@stop
使用的是 Laravel 模板系统:Blade。Blade 非常快,因为仅使用了少量的正则表达式来为你的模板编译成原始PHP代码。Blade提供强大的功能。
有了视图,app/controllers/Userscontroller.php文件里面getIndx方法里面下面代码。我们用视图来替代返回 Users!:
public function getIndex ()
{
return View::make('users');
}
成功创建了继承至layout的视图
创建迁移
要创建表来保存数据,将使用 Laravel 迁移系统。迁移描述数据库的改变,这让分享给他们团队成员非常简单。
首先,配置数据库连接。你可以在 app/config/database.php 文件配置所有数据库连接信息。默认,Laravel 被配置为使用 SQLite,
并且一个 SQLite 数据库存放在 app/database 目录。你可以将数据库配置文件的 driver 选项修改为 mysql 并且配置 mysql 连接信息。
接下来,要创建迁移,我们将使用 Artisan CLI。在项目根目录中,在终端中执行以下命令:
php artisan migrate:make create_users_table
然后,找到生成的迁移文件 app/database/migrations 目录。该文件包含了一个包含两个方法: up 和 down 的类。在 up 方法,你要指
名数据库表的修改,在 down 方法中你只需要移除它。
让我们定义如下迁移:
public function up(){
Schema::create('users', function($table){
$table->increments('id');
$table->string('email')->unique();
$table->string('name');
$table->timestamps();
});
}
public function down(){
Schema::drop('users');
}
然后,我们在项目根目录中使用终端运行 migrate 命令来执行迁移:
php artisan migrate
如果想回滚迁移,你可以执行 migrate:rollback 命令。现在已经有了数据库表,让添加一些数据!
Eloquent ORM(模型)
Laravel 提供非常棒的 ORM:Eloquent。如果你使用过 Ruby on Rails 框架,你会发现 Eloquent 很相似,因为它遵循数据库交互的
ActiveRecord ORM 风格。
首先,让我们来定义个模型。ELoquent 模型可以用来查询相关数据表,以及表内的某一行。别着急,我们很快会谈及!模型通常存放在
app/models 目录。让我们在该目录定义个 User.php 模型,如:
class User extends Eloquent {}
注意并没有告诉 Eloquent 使用哪个表。Eloquent 有多种约定, 一个是使用模型的复数形式作为模型的数据库表。非常方便!
使用你喜欢的数据库管理工具,插入几行数据到 users 表,我们将使用 Eloquent 取得它们并传递到视图中。
现在修改 app/controllers/Userscontroller.php文件里面getIndx方法里面如下:
public function getIndex ()
{
$users = User::all();
return View::make('users')->with('users', $users);
}
看看该路由。首先,User 模型的 all 方法将会从 users 表中取得所有记录。接下来,通过 with 方法将这些记录传递到视图。with
方法接受一个键和一个值,那么该值就可以在视图中使用了。
显示数据
现在视图中已经可以访问 users 类,可以如下显示它们:
@extends('layout')
@section('content')
@foreach($users as $user)
<p>{{ $user->name }}</p>
<p>{{ $user->email }}</p>
@endforeach
@stop
当使用 Blade 时,你可以使用两个花括号来输出数据。现在应该可以通过 /users 路由来查看到用户姓名作为响应输出。
php-laravel4.0框架 简单快速入门的更多相关文章
- Shiro权限框架简单快速入门
声明本文只适合初学者,本人也是刚接触而已,经过一段时间的研究小有收获,特来分享下希望和大家互相交流学习. 首先配置我们的web.xml代码如下: <filter> <filter-n ...
- Nodejs ORM框架Sequelize快速入门
Nodejs ORM框架Sequelize快速入门 什么是ORM? 简单的讲就是对SQL查询语句的封装,让我们可以用OOP的方式操作数据库,优雅的生成安全.可维护的SQL代码.直观上,是一种Model ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
- ssm框架整合快速入门
写在前面: 公司一直都是使用ssh框架(Struts2,Spring,Hibernate)来开发,但是现在外面的公司大多数都是使用的ssm框架,所以也有必要多学习一下外面的新技术.这里就快速搭建一个小 ...
- Hibernate入门第一讲——Hibernate框架的快速入门
Hibernate框架的概述 什么是框架? 框架指的是软件的半成品,已经完成了部分功能. JavaEE开发的三层架构 了解框架的基本概念之后,我们就来看看Hibernate框架处于JavaEE开发的经 ...
- [jbdj]SpringMVC框架(1)快速入门
1)springmvc快速入门(传统版) 步一:创建springmvc_demo一个web应用 步二:导入springioc,springweb , springmvc相关的jar包 步三:在/WEB ...
- springboot2.0整合freemarker快速入门
目录 1. 快速入门 1.1 创建工程pom.xml文件如下 1.2 编辑application.yml 1.3 创建模型类 1.4 创建模板 1.5 创建controller 1.6 测试 2. F ...
- Shiro安全框架【快速入门】就这一篇!
Shiro 简介 照例又去官网扒了扒介绍: Apache Shiro™ is a powerful and easy-to-use Java security framework that perfo ...
- 分布式应用框架Akka快速入门
转自:http://blog.csdn.net/jmppok/article/details/17264495 本文结合网上一些资料,对他们进行整理,摘选和翻译而成,对Akka进行简要的说明.引用资料 ...
随机推荐
- Could not establish trust relationship for the SSL/TLS secure channel 问题解决方法
最近在写一个跟第三方对接的数据同步服务,在本地都没有问题,今天放到生产环境测试报错: System.Net.WebException: The underlying connection was cl ...
- Vim入门学习之Vim解析
Vim解析... ----------------------- 首先你要会从官网上下载你想要的Vim版本: 官网: http://www.vim.org/==================== ...
- web前端笔记整理一---HTML
一 HTML标签1 页面及标记 1 HTML 文件结构 拓展名 .html或者.htm <!DOCTYPE html>// 声明 <html> html 主体 <head ...
- Spring详解(一)------概述
本系列教程我们将对 Spring 进行详解的介绍,相信你在看完后一定能够有所收获. 1.什么是 Spring ? Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开 ...
- 为什么Java字符串是不可变对象?
转自 http://developer.51cto.com/art/201503/468905.htm 本文主要来介绍一下Java中的不可变对象,以及Java中String类的不可变性,那么为什么Ja ...
- javasript校验字符串【正则和其他函数】
/**javasript校验输入框值只能为数字中文英文和下划线**/function isRegex(s){ var reg=/^[a-zA-Z0-9_\u4e00-\u9fa5]+$/; if (! ...
- 【详细资料】ICN6211:MIPI DSI转RGB芯片简介
ICN6211功能MIPI DSI转RGB,分辨率1920*1200,封装QFN48
- VS2015企业版和专业版永久密匙
专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
- Tomcat利用Redis存储Session
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt269 如果英文不错的看,建议直接看官网吧,官网写的挺清楚.下面的内容是转载的 ...
- if判断与比较操作符gt、lt、eq等的使用
在整数中比较使用如下 //-eq 等于(equal) if [ "$a" -eq "$b" ] //-ne不等于(no equal) if [ "$ ...