2017-07-15 39 views
3

我更新了我的項目到Symfony 3.3。我想爲服務使用新的自動配置功能。我試圖擺脫$this->get()但我在控制器和命令中有錯誤。Symfony 3.3自動配置服務和使用

隨着一個控制器下面的代碼示例,我有這樣的錯誤:

recapitulatifCollesAction() requires that you provide a value for the "$checkGele" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one. 

在命令,我不知道如何在所有擺脫$container->get()

你知道我如何才能使這個工作?控制器

我的配置
public function recapitulatifCollesAction($estEnCours, CheckGeleService $checkGele) 
{ 
    // ... 
    $checkGele->getGeleAutorisation($colle); 
    // ... 
} 

編輯
services: 
    _defaults: 
     autowire: true 
     autoconfigure: true 
     public: false 

:修改config.yml

New error message

回答

3

對於控制器新的錯誤後,你還可以添加服務參數解析器在「操作」方法中自動裝入服務。這都是關於默認的自動裝配3.3:

services: 
    _defaults: 
     autowire: true 
     autoconfigure: true 
     public: false 

    AppBundle\: 
     resource: '../../src/AppBundle/*' 
     exclude: '../../src/AppBundle/{Controller, Entity, Repository}' 

    AppBundle\Controller\: 
     resource: '../../src/AppBundle/Controller' 
     public: true 
     tags: [ controller.service_arguments ] 
+0

當我有這個我的配置時,我有一個500錯誤。由於我在日誌中沒有看到任何東西,所以調試真的很難...... –

+0

錯誤信息是什麼? – yceruto

+0

我有一個新的錯誤信息:在文件「root \ vendor \ composer /../../ src \」中定義的自動加載器期望的類「AppBundle \ Resources \ public \ ckeditor \ samples \ old \ assets \ posteddata」的appbundle \資源\ PUBLIC \ CKEditor的\樣本\舊\資產\ posteddata.php」。該文件被發現,但該類不在其中,類名或命名空間可能在根目錄\ app/config \ config.yml中有一個拼寫錯誤。 我檢查過這個文件甚至不是應該加載的類。這是一個普通的php文件。所以我排除了資源文件夾被導入到服務中,但我仍然有相同的錯誤 –