在學習crmeb的時候發現他使用了一個macro的方法用在中間件中,于對macro進行了簡單的研究,發現這個方法可以在中間件中進行定義一些方法,然后讓后面的控制器進行使用。
如:
在授權的中間件中,定義了$request->macro('user') 返回了 authInfo['user']
那么在使用了這個中間件的控制器中,就可以起用使用
$request->user 來獲取信息。
關于macro的使用,參考下面的文章:
使用 Macro 讓你的代碼更簡潔,更具有可讀性 | Laravel China 社區
那么,如果在定義的thinkphp6 項目中引入這個macro,其實也很簡單,
1. 安裝macro .
composer require spatie/macroable
2. 在app目錄下的Request.php中use即可。
這樣,在你的Request實例下就可以使用了。
在其它類中使用也是一樣的流程。