Laravel 5.0 发布 新版本特性详解(2)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:Laravel模板引擎Blade中section的一些标签的区别介绍
这篇文章主要介绍了Laravel模板引擎Blade中section的一些标签的区别介绍,本文讲解了@yield 与 @section、@show 与 @stop、@append 和 @override的区别,需要的朋友可以参考下 Laravel 框架中的 Blade 模板引擎,很好用,但是在官方文档中有关 Blade 的介绍并不详细,有

在过去, 为了定时执行控制台任务, 开发者必须依赖 Cron 任务. 这带来很大不便. 因为定时任务并不包括在网站的源代码中, 而且必须通过 SSH 登陆到服务器去添加 Cron 任务. 新版 Laravel 的定时任务允许开发者在 Laravel 框架内来定义定时执行的命令, 然后只需要在服务器上定义一个总的 Cron 任务即可.

比如:

代码如下:
$schedule->command('artisan:command')->dailyAt('15:00');
同样的, 了解更多有关定时任务的信息, 可以查阅完整文档.

 

Tinker / Psysh

php artisan tinker 命令在新版本中借助了 Justin Heleman 开发的 Psysh. 如果你喜欢 Laravel 4.0 里的 Boris, 你肯定会喜欢 Psysh. Boris 在 Windows 下运行得不好, Psysh 完全支持 Windows! 使用方法和以前一样:

代码如下:
php artisan tinker
DotEnv

 

在 Laravel 5.0 中, 用 Vance Lucas 实现的 DotEnv 替代了以前版本中的嵌套结构, 容易让人困惑的环境配置目录. 这个框架提供了一种非常简单的管理环境配置的方式. 在 Laravel 5.0 中检测和区分不同的运行环境变得轻而易举. 了解更多详情, 请访问完整的配置文档.

Laravel Elixir

由 Jeffrey Way 提供的 Laravel Elixir 提供了简明易懂的合并, 编译资源文件的接口. 如果你曾经对配置 Grunt 或者 Gulp 感到很头大, 那么现在你得到解放了. Elixir 让你可以轻松地借助 Gulp 来编译你的 Less, Sass 和 CoffeeScript 文件. 它甚至可以替你执行测试.

了解 Elixir 的更多详情, 请访问完整文档.

Laravel Socialite

Laravel Socialite 只兼容 Laravel 5.0 以上版本的可选包, 它提供了完整而且上手毫无难度的 OAuth 解决方案. 目前, Socialite 支持 Facebook, Twitter, Google 和 Github. 它看起来是这个样子的:

代码如下:
public function redirectForAuth()
{
return Socialize::with('twitter')->redirect();
}

public function getUserFromProvider()
{
$user = Socialize::with('twitter')->user();
}
所以你不用再耗费大量的时间来编写 OAuth 认证流程, 分分钟轻松搞定. 完整文档 包含有关这个可选包的全部细节.

 

Flysystem 集成

新版 Laravel 还包含了强大的 Flysystem 文件处理静态库. 通过这个库, 开发者可以轻易上手, 使用完全一致的 API 来实现本地, Amazon S3 或者 Rackspace 进行文件存储. 比如, 在 Amazon S3 存储一个文件, 可以简单到这样:

代码如下:
Storage::put('file.txt', 'contents');
了解有关 Laravel Flysystem 集成的更多细节, 可以查看它的完整文档

 

表单请求

Laravel 5.0 带来了全新的 form requests, 它扩展自 Illuminate\Foundation\Http\FormRequest 类. 这些请求对象可以和控制器方法注入相结合, 提供一种全新的验证用户输入的方法. 简单举一个 FormRequest 的示例:

代码如下:
namespace App\Http\Requests;

class RegisterRequest extends FormRequest {

public function rules()
{
return [
'email' => 'required|email|unique:users',
'password' => 'required|confirmed|min:8',
];
}

public function authorize()
{
return true;
}

}
定义好对应的 FormRequest 扩展类之后, 在控制器方法中可以获得类型提示:
代码如下:
public function register(RegisterRequest $request)
{
var_dump($request->input());
}
当 Laravel 的 IoC container 识别到方法变量的类型时, 它会自动注入 FormRequest 的实例, 于是这个请求会被 自动验证. 这意味着当你的控制器被调用时, 你可以安全地使用该请求中包含的输入数据, 因为他们已经被你在表单请求类中指定的规则进行过验证了. 不仅如此, 如果该请求验证失败, 系统还会自动重定向到你预定义好的路由, 并且包含有错误提示的信息(根据需要写入session, 或者转换为 JSON 格式.) 表单验证从未如此简单过. 了解有关 FormRequest 验证的更多细节, 请查阅文档.

 

控制器请求简单验证

Laravel 5.0 的控制器基类还包含了一个 ValidatesRequests 的 trait. 该 trait 提供了简单的 validate 方法, 用于验证请求. 如果 FormRequests 对于你的应用来说太重了, 那你就可以用这个轻量版的:

代码如下:
public function createPost(Request $request)
{
$this->validate($request, [
'title' => 'required|max:255',
'body' => 'required',
]);
}
如果验证失败, 系统会抛出一个异常, 对应的 HTTP 请求会被自动发送给浏览器. 验证错误也会同时写入 session. 如果请求是用 AJAX 方式发起, Larave 会自动发送一个 JSON 形式的验证错误信息.

 

了解有关 FormRequest 验证的更多细节, 请查阅文档.

全新的生成器

为了方便生成新的默认应用结构, 全新的 Artisan 生成命令已经被添加到框架中. 你可以通过 php artisan list 查看详细命令.

配置缓存

通过 config:cache 命令, 可以把所有的配置项写入一个缓存文件中.

Symfony VarDumper

用于输出变量信息进行调试的辅助方法 dd, 在新版本中进行了升级, 使用强大的 Symfony VarDumper. 它可以输出带有颜色高亮和数组折叠功能的调试信息. 你可以尝试一下:

复制代码 代码如下:
dd([1, 2, 3]);

 

 

分享:PHP框架Laravel的小技巧两则
这篇文章主要介绍了PHP框架Laravel的小技巧两则,本文讲解了Route::controller中路由批量命名、根据系统变量判断当前运行环境两个小技巧,需要的朋友可以参考下 用 Laravel 作为 PHP 开发框架很久了,但是有些官方文档中没有覆盖到的地方,每隔一段时间又会忘记。最近做

共2页上一页12下一页
来源:模板无忧//所属分类:PHP教程/更新时间:2015-02-11
相关PHP教程