在学习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实例下就可以使用了。
在其它类中使用也是一样的流程。