Laravel 50 個小技巧 + Laravel 5.2 新功能

原文來自: Laravel 50 個小技巧 + Laravel 5.2 新功能

Laravel PHP Framework

在學習 Laravel 階段,一定會天天看 Laravel Documentation,但是有很多小技巧是在文件內沒寫出來的,網路上找到這篇 50 Laravel Tricks in 50 Minutes,寫了 50 個 Laravel 小技巧,包含了 IoC Container, Blade, Eloquent, Middleware, Routing, Commands, Queues, Events, Caching 等模組。

當然作者最後不只介紹了 50 個小技巧,另外也展示了 Laravel 5.2 的新功能,像是可以在 Routing 內寫 Modle Binding,所以非常推薦大家看這 Slides。底下列出 Laravel 5.2 新功能

在 Routing 內可以直接 binding Model

Route::get('/api/posts/{post}', function(Post $post) {
    return $post;
});

scheduled tasks 支援 log 連續寫入檔案

$schedule->command('emails:send')
    ->hourly()
    ->appendOutputTo($filePath);

支援 Array 驗證

html 寫法如下

<p>
  <input type="text" name="person[1][id]">
  <input type="text" name="person[1][name]">
</p>
<p>
  <input type="text" name="person[2][id]">
  <input type="text" name="person[2][name]">
</p>

在 Laravel 5.1 要用 loop 方式驗證,但是 5.2 可以改寫如下

$v = Validator::make($request->all(), [
  'person.*.id' => 'exists:users.id',
  'person.*.name' => 'required:string',
]);

Collection 支援 Wildcards 功能

要讀取 posts 底下所有的 Title 可以寫成如下

$posts->pluck('posts.*.title');

Database Session Driver 多支援兩個欄位

資料庫 Session Driver 多支援 user_idip_address,這樣就可以很快速的清除單一帳號的 Session。

MySQL 支援 JSON Type

MySQL 5.7.8 之後支援 JSON Type,現在 Laravel 5.2 也會開始支援 JSON Type。

本帖已被设为精华帖!
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!