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进行简要的说明.引用资料 ...
随机推荐
- java集合判断
java开发中经常需要做集合判断,在这里mark一下,加强记忆 为空判断: null == applyList || applyList.size() ==0 非空判断: applyList != n ...
- 介绍maven构建的生命周期
介绍maven构建的生命周期 这篇是 https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html 的 ...
- 后台生成EXCEL文档,自定义列
后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...
- Oracle异常汇总
持续更新中,可参见https://hnuhell.gitbooks.io/oracle_errmg/content/或https://hnuhell.github.io/Oracle_ERRMG/上的 ...
- dede织梦如何防止被黑客入侵渗透?
dede精简设置篇:避免被hack注射挂马 精简设置篇:不需要的功能统统删除.比如不需要会员就将member文件夹删除.删除多余组件是避免被hack注射的最佳办法.将每个目录添加空的index.htm ...
- 读取xml文件中节点
/// <summary> /// /// </summary> /// <param name="xmlpath">节点路径</para ...
- Tornado框架简介(二)
--------------------Application-------------------- 1.settings 1.debug=True:,设置tornado是否工作在调试模式, ...
- flex弹性布局学习
一.介绍 flex( flexible box:弹性布局盒模型),是2009年w3c提出的一种可以简洁.快速弹性布局的属性.主要思想是给予容器控制内部元素高度和宽度的能力.目前已得到以下浏览器支持: ...
- 那么 Appium 到底是怎么工作的呢?
因为官网文档写的没有梯度,作为新手的我花了好几个小时硬是没看明白它是怎么工作的. 网上教程也基本都是翻译,所以结构很复杂.和其他技术耦合度很高,且没有说明. 我自己总结了一份超简单 Appium 自动 ...
- 机器学习实战之 第10章 K-Means(K-均值)聚类算法
第 10 章 K-Means(K-均值)聚类算法 K-Means 算法 聚类是一种无监督的学习, 它将相似的对象归到一个簇中, 将不相似对象归到不同簇中.相似这一概念取决于所选择的相似度计算方法.K- ...