自动加载 PSR-4 特定类



我通过PSR-4进行了自动加载设置,效果非常好。但是,我希望能够在其上添加一个特定的类,我可以从应用程序中的任何位置访问该类。

这是我目前拥有的:

"autoload": {
"psr-4": {
"App\": "app"
}
}

但是,我想添加一个名为"Redis"的类,它位于app/Lib/Redis中.php以便我可以从任何控制器调用Redis::method((;而不必在每个文件的顶部添加"use App\Lib\Redis;"。

这可能吗?

这不能直接完成。

你可以创建一个全局函数 redis(( 并注册 than with composer:

"autoload": {
"psr-4": {
"App\": "app"
},
"files"" {
"app/functions.php",
}
}

如果这个redis()函数返回了你的Redis类的实例,那么我认为你可以这样做:

redis()->method();

你是否应该这样做是另一回事 - 单元测试变得非常成问题。就个人而言,我会有一个 use 语句并将Redis对象的实例注入到需要它的类的构造函数中。

最新更新