《PHP編程:Laravel 5.0 發布 新版本特性詳解》要點:
本文介紹了PHP編程:Laravel 5.0 發布 新版本特性詳解,希望對您有用。如果有疑問,可以聯系我們。
PHP編程譯注: 期待 Laravel 5.0 已經很久很久了, 之前跳票說要到今年一月份發布. 從一月份就一直在刷新官網和博客, 始終沒有更新的消息, 前幾天終于看到官網文檔切換到了 5.0 版. 新版本帶來了眾多令人激動的新特性, 尤其是定時任務隊列和表單哀求兩個特性, 光看一下更新說明中的簡單介紹都忍不住要上手嘗試了. 今天總算抽出一點時間把官方的新特性說明文檔簡單地翻譯了一下, 希望所有喜歡 Laravel 框架的朋友都能感受到這個版本帶來的激動人心的改變. 當然, 如果你需要的是 Phalcon 那樣的性能, 那它肯定不是你需要的. 如果你是因為虛擬主機不支持 php 5.4 而不能享受 Laravel, 那你還不扔了你的虛擬主機??? 阿里云\騰訊云\linode... VPS的選擇不要太多...
PHP編程Laravel 5.0
PHP編程Laravel 5.0 引入了全新的項目目錄結構. 新的目錄結構更有利于用 Laravel 來創建應用. 5.0 版從頭到尾都采用了新的 PSR-4 自動加載尺度. 以下是 5.0 版主要的新特性:
PHP編程目錄布局
PHP編程以前版本中的 app/models 目錄被整個移除. 如今你可以直接把代碼放在 app 目錄下, 該目錄下的所有代碼默認會被組織到 app 定名空間. 這個定名空間是可以通過新增加的 Artisan 命令 app:name 來修改的.
PHP編程Controllers, middleware 和 requests (Laravel 5.0 新增加的一種類) 被組織到 app/Http 目錄, 因為他們都是與你應用的 HTTP 傳輸層相關的類. 與之前把所有路由過濾器放到單一的 filters 文件下不同, 現在所有的 middleware (類似之前的 route filter) 被分別存放到各自本身的類文件中.
PHP編程新版本中增加了一個 app/Providers 目錄來代替之前 4.x 版本的 app/start 文件. 這些 service providers 為應用提供各種各樣的引導辦法, 比如錯誤處理, 日志記錄, 路由加載等. 除此之外你當然也可以創建額外的 service providers.
PHP編程利用的語言文件和視圖被移到了 resources 目錄.
PHP編程Contracts
PHP編程Laravel 的所有主要組件都實現了存放在 illuminate/contracts 倉庫中的接口. 該倉庫沒有額外的依賴項. 擁有這樣一個便利的, 集中存放的接口集合, 你就可以很容易地通過它來對 Laravel Facades 進行解耦和依賴注入方面的選擇和修改.
PHP編程了解有關 contracts 的更多信息, 可以查看它的完備文檔.
路由緩存
PHP編程如果你的應用由各種各樣的控制器路由 (controller routes) 組成, 你可以利用新增的 Artisan 命令 route:cache 大幅度提升路由的注冊速度. 這在路由數量超過 100 個的應用中尤其有效, 可以 大幅度 提升整個應用在路由部門的速度.
PHP編程路由中央件 (Route Middleware)
PHP編程在 4.0 版風格的路由 "過濾器" 基礎上, 新版 5.0 已經支持 HTTP 中間件, Laravel 自帶的 "authentication" 和 "filters" 已經被轉換成中間件. 中間件為所有類型的過濾器提供了單一接口, 你可以很容易地對哀求進行審查和拒絕.
PHP編程了解有關中間件的更多信息, 可以查看它的完備文檔.
PHP編程控制器辦法注入
PHP編程除了現有的構造器注入以外, 在新版本中還可以在控制器辦法中的依賴項進行類型約束. IoC container 會自動注入依賴項, 即使在路由包含其它參數的時候也是.
PHP編程用戶注冊, 認證以及暗碼重置控制器已經內置在 5.0 版的網站框架中, 除了控制器以外, 還有簡單的視圖, 存放在 resources/views/auth 目錄. 除此之外, 網站初始框架中還包含了一個 "users" 表的 migration 文件. 這些簡單的資源幫助開發者不用在用戶認證功能上耗費大量時間. 認證相關的頁面可以通過 auth/login 和 auth/register 這兩個路由訪問. App\Services\Auth\Registrar 服務負責處理創建和認證用戶.
PHP編程變亂對象
PHP編程在新版本中, 你可以把變亂定義成對象而不是字符串. 看下面的例子:
PHP編程Event::fire(new PodcastWasPurchased($podcast));
當然, 你的變亂處理程序收到的也不再是一個數據列表, 而是一個變亂對象:
PHP編程命令/隊列
PHP編程在 4.0 版支持的任務隊列基礎上, 5.0 支持把任務隊列定義為簡單的命令對象. 這些命令寄存在 app/Commands 目錄. 下面是一個簡單的命令示例:
PHP編程$this->dispatch(new PurchasePodcastCommand($user, $podcast));
當然, 你不僅可以把命令用于任務隊列(非同步執行), 也可以用于同步任務. 事實上, 把你的應用必要執行的復雜任務封裝成命令是一個很好的選擇. 了解有關命令的更多信息, 可以查看命令橋的詳細文檔.
PHP編程數據庫行列步隊
PHP編程新版 Laravel 包括 database 隊列驅動, 提供簡單的, 本地的隊列驅動, 無需安裝額外的包. (譯注:比如讓不支持事務的數據庫進行類似事務的數據操作)
PHP編程Laravel 準時任務
PHP編程在過去, 為了定時執行控制臺任務, 開發者必須依賴 Cron 任務. 這帶來很大不便. 因為定時任務并不包含在網站的源代碼中, 而且必須通過 SSH 登陸到服務器去添加 Cron 任務. 新版 Laravel 的定時任務允許開發者在 Laravel 框架內來定義定時執行的命令, 然后只需要在服務器上定義一個總的 Cron 任務即可.
PHP編程好比:
PHP編程Tinker / Psysh
PHP編程php artisan tinker 命令在新版本中借助了 Justin Heleman 開發的 Psysh. 如果你喜歡 Laravel 4.0 里的 Boris, 你肯定會喜歡 Psysh. Boris 在 Windows 下運行得不好, Psysh 完全支持 Windows! 使用辦法和以前一樣:
PHP編程在 Laravel 5.0 中, 用 Vance Lucas 實現的 DotEnv 替代了以前版本中的嵌套結構, 容易讓人困惑的環境配置目錄. 這個框架提供了一種非常簡單的管理環境配置的方式. 在 Laravel 5.0 中檢測和區分不同的運行環境變得輕而易舉. 了解更多詳情, 請拜訪完整的配置文檔.
PHP編程Laravel Elixir
PHP編程由 Jeffrey Way 提供的 Laravel Elixir 提供了簡明易懂的合并, 編譯資源文件的接口. 如果你曾經對配置 Grunt 或者 Gulp 感到很頭年夜, 那么現在你得到解放了. Elixir 讓你可以輕松地借助 Gulp 來編譯你的 Less, Sass 和 CoffeeScript 文件. 它甚至可以替你執行測試.
PHP編程了解 Elixir 的更多詳情, 請拜訪完整文檔.
PHP編程Laravel Socialite
PHP編程Laravel Socialite 只兼容 Laravel 5.0 以上版本的可選包, 它提供了完整而且上手毫無難度的 OAuth 辦理方案. 目前, Socialite 支持 Facebook, Twitter, Google 和 Github. 它看起來是這個樣子的:
PHP編程Flysystem 集成
PHP編程新版 Laravel 還包括了強大的 Flysystem 文件處理靜態庫. 通過這個庫, 開發者可以輕易上手, 使用完全一致的 API 來實現本地, Amazon S3 或者 Rackspace 進行文件存儲. 比如, 在 Amazon S3 存儲一個文件, 可以簡單到這樣:
PHP編程表單哀求
PHP編程Laravel 5.0 帶來了全新的 form requests, 它擴展自 Illuminate\Foundation\Http\FormRequest 類. 這些哀求對象可以和控制器方法注入相結合, 提供一種全新的驗證用戶輸入的方法. 簡單舉一個 FormRequest 的示例:
PHP編程控制器哀求簡單驗證
PHP編程Laravel 5.0 的控制器基類還包含了一個 ValidatesRequests 的 trait. 該 trait 提供了簡單的 validate 方法, 用于驗證哀求. 如果 FormRequests 對于你的應用來說太重了, 那你就可以用這個輕量版的:
PHP編程了解有關 FormRequest 驗證的更多細節, 請查閱文檔.
PHP編程全新的天生器
PHP編程為了便利生成新的默認應用結構, 全新的 Artisan 生成命令已經被添加到框架中. 你可以通過 php artisan list 查看詳細命令.
PHP編程設置裝備擺設緩存
PHP編程通過 config:cache 敕令, 可以把所有的配置項寫入一個緩存文件中.
PHP編程Symfony VarDumper
PHP編程用于輸出變量信息進行調試的輔助辦法 dd, 在新版本中進行了升級, 使用強大的 Symfony VarDumper. 它可以輸出帶有顏色高亮和數組折疊功能的調試信息. 你可以嘗試一下:
《PHP編程:Laravel 5.0 發布 新版本特性詳解》是否對您有啟發,歡迎查看更多與《PHP編程:Laravel 5.0 發布 新版本特性詳解》相關教程,學精學透。維易PHP學院為您提供精彩教程。