我今天在Laravel 5.4上启动了一个项目,并遇到了ServiceProvider问题 . 我的服务提供商:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class WizamProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//die('YESSS');
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->bind('Wizam\Test', function()
{
if(class_exists("Domains\Domomat\Test"))
return new \Domains\Domomat\Test;
else
return new \Core\Classes\Test;
});
}
}
我将此提供程序添加到config / app.php( App\Providers\WizamProvider::class
)中,将我的自动加载器转储了20次,清除缓存,清除配置 . 没啥事儿 .
我的路线在这里:
Route::get('/sub', function()
{
$test = new \Wizam\Test();
echo $test->render();
});
当我去'/sub'时,我得到 Class 'Wizam\Test' not found
. 我看不出我的错误,你能帮助我吗?
谢谢 !
1 回答
要使用容器,您无法使用new命令进行实例化,您可以通过构造函数注入它
或使用应用程序(\ Wizam \ Test :: class)我认为是评论中提到的另一种方法 .