我想为每个要使用的控制器包含一个类。这是我没有运气的尝试。
在Controller.php文件中,我添加了以下代码:
use App\Lib\RequestType;
然后在我的控制器UserController.php中,我调用了一个测试函数。
dd(RequestType::test());
但是会抛出一个致命的错误。
Class' App \ Http \ Controllers \ RequestType'找不到
什么是laravel在Controllers文件夹中查找该类。不应该UserController继承Controller类吗?
提前致谢
答案 0 :(得分:0)
如果您正在尝试编写静态类并通过use
调用它,那么一个选项是使用composer的自动加载功能,这将使该类可以在任何地方使用。
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"app/Lib"
]
},
然后在任何控制器中
use RequestType;
然后
dd(RequestType::test());
注意:功能测试应该像
public static function test()
答案 1 :(得分:0)
无处可自动神奇地上课。
扩展类不会继承PHP use
。即使是Laravel的外墙也必须指明。
您可以将该类存储在App\Http\Controllers\Controller->__contruct()
中,以使其更易于管理。
// App\Http\Controllers\Controller
public function __construct()
{
$this->requestType = new RequestType();
}
// App\Http\Controllers\FooController
public function __construct()
{
parent::__contruct();
}
public function index()
{
$requestType = $this->requestType;
}