2015-05-11 90 views

回答

1

你在找什麼是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 
} 
+0

錯誤:類應用程序\ HTTP \ \控制器的FileMaker不存在:( –

+0

@HieuTran所以你接受的答案,並沒有爲你工作 –

+0

?這個錯誤不會是我提供的代碼的結果,這是因爲他的類或者不存在於他聲明的命名空間中,該類不會被導入,自動加載還沒有被設置,或者其他的東西沿着這些路線。 – Amo