1
我有一個問題!我有一個圖書館,無論何時我需要打電話,我都會將其納入& new Class()
,如下面的鏈接。流明(Laravel)包括圖書館和控制器使用類
現在,我想包括它流明框架&調用通常inton控制器使用,那麼如何註冊流明的服務,一流讓它舒服,這樣在需要的時候,只需撥打new FileMaker();
非常感謝!
我有一個問題!我有一個圖書館,無論何時我需要打電話,我都會將其納入& new Class()
,如下面的鏈接。流明(Laravel)包括圖書館和控制器使用類
現在,我想包括它流明框架&調用通常inton控制器使用,那麼如何註冊流明的服務,一流讓它舒服,這樣在需要的時候,只需撥打new FileMaker();
非常感謝!
你在找什麼是Service Provider。不要在控制器中包含文件,然後新建一個類的實例,最好在服務提供者中註冊該類,然後將對象從IoC container中解析出來。
的你怎麼能一個提供商註冊一個例子:
public function register()
{
$this->app->singleton('Full\Vendor\Namespace\FileMaker', function($app) {
return new FileMaker('someparameters');
});
}
這樣做,這樣意味着你可以依賴注入你的控制器和Laravel,或管腔在這種情況下會自動解析對象,而你需要實例化對象。
例如,在你的控制器:
public function someControllerMethod(FileMaker $filemaker)
{
// The $filemaker instance is available to use
}
錯誤:類應用程序\ HTTP \ \控制器的FileMaker不存在:( –
@HieuTran所以你接受的答案,並沒有爲你工作 –
?這個錯誤不會是我提供的代碼的結果,這是因爲他的類或者不存在於他聲明的命名空間中,該類不會被導入,自動加載還沒有被設置,或者其他的東西沿着這些路線。 – Amo