没有合适的资源?快使用搜索试试~ 我知道了~
Laravel 学习笔记
5星 · 超过95%的资源 需积分: 10 56 下载量 158 浏览量
2014-05-28
16:30:11
上传
评论 2
收藏 710KB PDF 举报
温馨提示
Blog: http://leolovenet.com 官方文档: http://laravel.com/docs/quick 前言: 整理翻译这个文档,实属一个意外,一开始要做一个小项目,就看了一天的文档, 但是, 到后来发现那个小项目实在是太小了, 使用这么大的框架有点大材小用,有加上自己对框架也不太熟悉, 最终是没有使用 Laravel 的. 不过这激起了我学习这个框架的兴趣. 最终产生了本文. 本文所有的翻译整理全是为了自我学习, 肯定有翻译不准确, 甚至错白字存在, 实在抱歉. 以后慢慢修改吧. 本文没有讲解安装步骤,假设你已经安装成功 Laravel 了. 截至目前, Laravel 的最新稳定版本为 4.1
资源推荐
资源详情
资源评论
翻译整理: leolovenet@gmail.com
Blog: http://leolovenet.com
官方文档: http://laravel.com/docs/quick
前言: 整理翻译这个文档,实属一个意外,一开始要做一个小项目,就看了一天的文档, 但是,
到后来发现那个小项目实在是太小了, 使用这么大的框架有点大材小用,有加上自己对框架
也不太熟悉, 最终是没有使用 Laravel 的. 不过这激起了我学习这个框架的兴趣. 最终产生
了本文. 本文所有的翻译整理全是为了自我学习, 肯定有翻译不准确, 甚至错白字存在, 实
在抱歉. 以后慢慢修改吧.
本文没有讲解安装步骤,假设你已经安装成功 Laravel 了. 截至目前, Laravel 的最新稳定
版本为 4.1
Artisan
Laravel 有一个命令行接口,叫做 Artisan . 它提供了一些在开放网站过程中非常有用的命
令.是通过 Symfony Console component 来驱动的. 可以在项目 Root 目录下运行.
用法:
(1) 所有可用的命令: php artisan list
(2) 访问每个命令的帮助信息: php artisan help migrate
(3) 在特定配置环境下运行: php artisan migrate --
env=local
(4) 现实当前 Laravel 版本: php artisan --version
Blade
Blade(刀锋), 是 Laravel 的模板系统( templating system). Blade 运行很快, 因
为它使用简单的正则表达式把你的模板编译成为纯 PHP, 同时 Blade 又提供了像
模板继承, 以及 php 的 if 和 for 类似的语法结构控制语句. 更多的信息请查看
Blade 的详细文档
Migration
当我们想创建一个数据库表格来存放我们的数据的时候, 可以是用Laravel的
migration (迁移)系统. Laravel 的 migration 系统可以直观的定义对数据库的修
改, 并且很容易跟团队的其他人员共享.
使用 migration 的第一步,需要我们先配置对数据库的连接信息. 框架把所有对数据
库的配置信息都存放在了 app/config/database.php 文件中. 默认行况下
Laravel 是使用 MySQL ,你需要在配置文件中指定好对数据库的连接信息. 如果你
更愿意是用 sqlite 替代 MySQL 的话, 仅需要更改配置文件的 driver 选项为
sqlite ,随后框架将使用包含在 app/database 目录下的 SQLite 数据库作为存
储媒介.
第二步,创建 migration .我们将要使用上面介绍的 Artisan 命令行. 进入终端, 在项
目的根目录下运行下面的命令:
php artisan migrate:make create_users_table
这将会在 app/database/migrations 文件夹内生成 migration 文件, 文件中
有一个由两个方法 up 和 down 组成的一个类(类名为 CreateUsersTable). 在
up 方法中,应该包含对数据库表格渴望的改变, 在 down 方法中应该做出相反的动
作.
让我们定义一个像下面的这样的 migration:
public function up()
{
Schema::create('users', function($table) //创建个 users 表格.
{
$table->increments('id'); //在 users 表中添加个增的
id 列
$table->string('email')->unique(); //在 users 表中添加个只能是唯
的 email 字符列
$table->string('name'); //在 users 表中添加个 name
字符列
$table->timestamps(); //在 users 表中添加个时间戳的列
});
}
public function down()
{
Schema::drop('users'); //删除这个表格
}
一切准备完毕,接下来,我们就可以在终端中使用 migrate 命令来运行我们刚刚设
计好了的 miagration. 在你项目的根目录下面简单的执行下面的命令:
php artisan migrate
如果你希望做回滚 migration 的话, 你就需要执行 migrate:rollback 命令. 现
在我们已经有了我们的数据库表格,接下来让我们向里面存放点数据.
Eloquent ORM
Laravel拥有一个超级 ORM 系统叫做 Eloquent
首先, 让我们来定义一个模型. 一个 Eloquent 模型一个用来查询与它相连的表格,
也可以用来代表表格里的一行. 一会儿你就会明白了. Models 一般是存储在
app/models 目录下面的. 让我们在这个目录下定义一个 User.php 模型文件,像
这样
class User extends Eloquent {}
注意一下,这里我们并没有告诉 Eloquent 我们要使用那个表格. Eloquent 有各种
自己的约定, 其中之一就是使用模型名字的复数形式作为模型数据库中表格的名字.
这些全是风俗约定而已.
你可以使用你最喜欢的数据库管理工具,在 users 表格中插入几行数据,我们接下来
将使用 Eloquent 来检索他们,并把他们交给视图(View)来展示.
在 app/routes.php 中添加下面的配置:
Route::get('users', function()
{
$users = User::all();
return View::make('users')->with('users', $users);
});
User 模型的 all 方法检索出了所有在 users 表格中的行, 然后我们使用 with
方法传递这些记录到视图(view)中.
with 方法接受一个键和值,使用他们在 view 中可见. 我们可以在 view 中这样来
展示他们,在 app/view 目录下,创建两个文件, layout.blade.php 和
users.blade.php
接下来我们看一下使用 刀锋(Blade) 的语法定义的视图(View):
layout.blade.php文件内容为:
<html>
<body>
<h1>Laravel Quickstart</h1>
@yield('content')
</body>
</html>
users.blade.php文件内容为:
@extends('layout')
@section('content')
@foreach($users as $user)
<p>{{ $user-> name }}</p>
@endforeach
@stop
你可能会比较惊奇, 怎么没有看见 echo 语句呢? 当使用 Blade 的时候, 你可以使
用 {{ }} 来显示数据. 这个很容易做到. 现在你可以打开你的浏览器观看
http://yoursite.com/user 来观看展示的结果了.
Laravel项目目录结构
├── app // 网站APP 代码目录, 自己的代码主要存放在这个目
录下,主要是 MVC 结构
│ ├── commands
│ ├── config // 存放所有laravel有关的配置文件,APP的主配置文件
app.php就在存放在该目录下面.里面定义了 Service Providers
│ ├── controllers // C 目录
│ ├── database
│ ├── filters.php
│ ├── lang
│ ├── models // M 目录
│ ├── routes.php // 路由配置文件,Request 请求到来后,由那些文件处
理,在这里定义.
│ ├── start // APP 对象启动前的加载文件
│ │ ├── artisan.php
│ │ ├── global.php
│ │ └── local.php
│ ├── storage // 存储缓存,日志,session等文件的目录
│ ├── tests
│ └── views // C 目录
├── artisan // 命令行工具 artisan 的文件
├── bootstrap // APP 启动前的加载文件
│ ├── autoload.php
│ ├── paths.php
│ └── 2.步 start.php // 当请求到达后,第二个调用的文件, 创建 Laravel
Application Object,并作为控制反转( IoC )的容器
├── composer.json
├── composer.lock
├── phpunit.xml
├── public // 存放前台的静态文件,为 web 的 ROOT 目录,是 APP
的入口 index.php 的存放目录.
│ ├── favicon.ico
│ ├── 1.步 index.php // APP入口文件
│ ├── packages
│ └── robots.txt
├── readme.md
├── server.php
└── vendor // Laravel Framework 源文件
Request Lifecycle 请求的处理流程, Laravel's bootstrap
process
1. 所有到达 APP 的请求,首先全部进入 public/index.php 文件.
从这里开始 Laravel 开始着手处理到来的请求,并返回一个对应的回应.
2. 然后加载 bootstrap/start.php 文件,创建 Application (object) 并进行
detects environment
框架在这个文件中创建 Laravel Application 对象,作为 控制反转的容器.
关于Laravel运行环境
Laravel 可以配置多个运行环境, 例如开发运行环境, 本机运行环境, 实际生
产运行环境(默认值)等等, 在这些运行环境里可以重写默认运行环境配置文件
中的定义. 新的环境配置文件是以新的环境名命名的目录,并存放在
app/config 目录下. 例如 local开发环境, 就需要创建
app/config/local 目录, 并在该目录下创建 app.php 文件, 就覆盖了默
认运行环境配置文件 app/config/app.php 中的定义.
然后还需要告诉 Laravel 怎样监测它目前正在运行的环境是否为新添加的运
行环境, 通过在 bootstrap/start.php 文件中 $app->detectEnvironment
调用中添加 'local' => array('your-machine-name'),让 Laravel
通过运行的机器名在判定应该使用那个运行环境. 还可以向
detectEnvironment 传递一个闭包, 让 Laravel 依靠其他机制判断当前运
行环境. 例如:
$env = $app->detectEnvironment(function()
{
return $_SERVER['MY_LARAVEL_ENV']; //
$_SERVER['MY_LARAVEL_ENV']; 属于敏感数据,从哪里定义见下
面解释.
});
访问当前运行环境是通过, $environment = App::environment();
法.
剩余36页未读,继续阅读
apoxlo
- 粉丝: 27
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页