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。

本帖已被设为精华帖!
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12
(= ̄ω ̄=)··· 暂无内容!

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