Laravel的使用注意

寫在開頭:標題中的不論是laravel框架還是mysql數據庫都是在其領域比較知名的產品,就不再次介紹。本文旨在説明一些在使用中的注意。 1.Laravel Service Provider web框架中的middleware(中間件),大家應該都不會感到陌生。畢竟這是框架中的至關重要的一部分,在laravel中提供了前置和後置的中間件,我們可以很輕鬆地使用它,只需要在對應的位置實現你的邏輯代碼,例如: Wow~ 太神奇了。這樣我們就實現了前置和後置的請求處理,我們就可以使用該中間件來參與到一個請求的生命周期中了,比如我們可以用這樣的一個中間件來計算請求完成的時間,一切都如想象中的那樣美好。 但是它并不會跟你想象中一樣的工作,請求在incoming階段和terminate階段遇到的并不是同一個中間件實例。 TL;DR. 你需要在laravel的注冊您的中間件為單例 singleton. 當你調用terminate方法的時候,laravel 的 service container 將會返回你一個新的中間件實例,如果你想要獲得相同的中間件實例,你應該在您的 service provider 文件中注冊為單例。 同樣的如果您想要在服務的上下文使用相同的類實例,請不要忘記在provider綁定為單例。 這一切都是源於laravel 的 service container, 你可以使用 app() 函數來獲取 laravel 中您綁定的類,要驗證您綁定的類是否為單例,確保上下文的統一。 你可以調用container來獲取你的注冊的類。e.g. 2.Laravel 常駐内存下的變量 Laravel 在非常駐内存框架下的一個請求的生命周期,由index.php開始,實例化service container… Read More »Laravel的使用注意