Laravel 是目前 PHP 熱門的框架之一;它一定是好用,才會受到大家關注;那對開發者而言,什麼才是好用呢?具備「快速驗證」、「簡潔的程式碼」、「豐富的套件生態系」、「客製化容易」等特性的語言或框架,開發者肯定都會躍躍欲試。未來三十天,筆者將會試著分析 Laravel 原始碼,讓讀者了解什麼是好的架構,並在未來開發設計有好的方向可以參考。
Laravel 的 Log 套件在 5.5 版之前,是使用 Writer 包裝 Monolog,成為一個 proxy pattern,被代理的類別則是寫死 Mo...
Laravel 的 Facade 是個很神奇的設計。使用的時候是靜態呼叫,但實質上是對某個實例呼叫。也因這個特性,所以有辦法做測試替身(Test Double)...
昨天了解 Facade 基本原理後,可能會覺得奇妙的關鍵不過就是 Magic Method 而已,但其實 Laravel 還有更神奇的。 下面這兩個呼叫的結果是...
Auth 是筆者認為,在 Laravel 開放的 Illuminate 套件包裡(Support 除外),前三名複雜的。 註一:Support 除外的原因是,...
透過 AuthManager 取得 SessionGuard 實例,接著在 Authenticate Middleware 會呼叫 check() 方法驗證:...
之前在分析套件都是只有在看 Laravel 原始碼,沒有任何客製化的範例,而今天會來示範如何客製化驗證機制。 雖然 Laravel 已經實作得很完整了,但不同的...
前面我們看完了驗證(Authenticate)的實作,今天來看授權(Authorization)。 從官方文件可以大概知道它的主要角色有兩個:Gate 和 Po...
繼續昨天,來看 Policy 怎麼串接的,一樣是那個範例: // Policy 定義法 Gate::define('update-post', 'PostPol...
Laravel 文件有提到幾種方法來確認授權: Via The User Model Via Middleware Via Controller Helper...