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的使用注意

I need code hints!

好的代碼應該能做到見名知意,這也可以減少自己注釋、文檔的工作量 一個例子🌰 在 Laravel 框架的項目裡會比較常見的根據狀態查詢特定的數據: 可能會: 在一周後,你忘記了 0 代表著什麼😇 如果用的是字符串:狀態可用 = active / Active / ACTIVE / in_active ??? 每次都要複製一次where的方法調用 代碼編輯器對你的輸入無動於衷! 用常量替代狀態碼/字符串 如果是接手維護過其他人的代碼(或者是一個月之後的自己),加上沒有留下注釋、文檔說明這個數字狀態碼······ 定義 假如需要設定為全局 用法 讓編輯器提示動態方法 利用 Model 類的查詢作用域方法,把一些常見的條件查詢封裝成獨立的方法: 在 class Post 中定義 用法… Read More »I need code hints!

The birth of wistkey wiki

背景: 公司穩健快速發展,公司成員日漸新增,如何快速且有效的給新同事介紹公司的文化,背景等,亦或是讓他們瞭解整個公司的一些規章制度及開發規範呢,這時,公司的wiki網站應運而生。 技术选型: WordPress: WordPress對於快速建站有著一定優勢,且有豐富的範本可選擇,但不適合做wiki網站,維護成本較高。 Markdown類框架: 有Hexo,Vuepress,最終選擇了Vuepress框架,一個支持Vue語法,用Markdown語法快速編寫的由Vue驅動的靜態網站生成器。 Vuepressde的特性: 為技術文檔而優化的內寘Markdown拓展 在Markdown檔案中使用Vue組件的能力 Vue驅動的自定義主題系統 自動生成Service Worker Google Analytics集成 基於Git的“最後更新時間” 多語言支持 默認主題包含 框架搭建:  1. 全局安裝VuePress npm install -g vuepress  2. 創建並進入一個新目錄 mkdir vuepress-starter && cd vuepress-starter  3. 使用你喜歡的包管理器進行初始化 yarn… Read More »The birth of wistkey wiki