2017-06-23 12 views
0

を私はsymfonyの中で新しいサービスを作成しました:あなたが存在しないサービス「file.uploader」を要求してきた - Symfony3

// app\config\services.yml 

file.uploader: 
    class: AppBundle\Services\FileUploader 
    arguments: 
     - '%images_directory%' 
     - '%videos_directory%' 

// AppBundle\Services\FileUploader.php 

<?php 

namespace AppBundle\Services; 

class FileUploader { 
    private $imagesDir; 
    private $videosDir; 

    public function __construct($imagesDir, $videosDir) { 
     $this->imagesDir = $imagesDir; 
     $this->videosDir = $videosDir; 
    } 

    public function upload($form) { 
    ///... 
    ///... 
     } 
     return $form; 
    } 
} 

は、私も自分のservices.ymlファイルに次を追加しました

しかし、その後、私が使用して私のコントローラから呼び出すしようとすると:

$uploadModel = $this->get('file.uploader'); 

私は次のエラーを取得する:

存在しないサービス "file.uploader"を要求しました。

は、私がconfig.ymlにして

php bin/console debug:container file.upload --show-arguments 

を実行して、私の引数を指定しているにもかかわらず、私が取得:

Service ID  file.upload 
Class   AppBundle\Services\FileUploader 

答えて

0

あなたはpublicとしてサービスをマークする必要があります

file.uploader: 
    class: AppBundle\Services\FileUploader 
    public: true 
    arguments: 
     - '%images_directory%' 
     - '%videos_directory%' 
0

サービスは、通常のキャッシュに保存されている任意のアイデア。 クリーニングを試しましたか?

php app/console cache:clear --env=prod 
php app/console cache:clear --env=dev 
+0

はい私でした、そしてそれはまだ –

+0

を働いていない、あなたはxdebugのは、設定しているのですか?私はそれがこの問題を解決する最も速い方法だと思う。コードを実行して、サービスが見つからない理由を確認してください。 – matiit

+0

私は間違いなく次回のためにそれをチェックします、ありがとう。 –

関連する問題