我有通过PSR-4的自动加载设置,它工作得很好。然而,我希望能够在上面添加一个特定的类,我可以从应用程序的任何地方访问它。
这是我目前所拥有的:
"autoload": {
"psr-4": {
"App\\": "app"
}
}但是,我想添加一个名为'Redis‘的类,它位于app/Lib/Redis.php中,这样我就可以从任何控制器调用Redis::method();,而不必在每个文件的顶部添加'use App\Lib\Redis;’。
这个是可能的吗?
发布于 2020-01-14 23:38:12
这不能直接完成。
您可以创建一个全局函数redis()并使用composer进行注册:
"autoload": {
"psr-4": {
"App\\": "app"
},
"files"" {
"app/functions.php",
}
}如果此redis()函数返回Redis类的一个实例,那么我认为您可以这样做:
redis()->method();你是否应该这样做是另一回事-单元测试变得非常有问题。就我个人而言,我将使用一条use语句,并将Redis对象的一个实例注入到需要它的类的构造函数中。
https://stackoverflow.com/questions/57682696
复制相似问题