Php 您请求了一项不存在的服务“;file.uploader";-Symfony3
我刚刚在symfony中创建了一项新服务:Php 您请求了一项不存在的服务“;file.uploader";-Symfony3,php,Php,我刚刚在symfony中创建了一项新服务: // AppBundle\Services\FileUploader.php <?php namespace AppBundle\Services; class FileUploader { private $imagesDir; private $videosDir; public function __construct($imagesDir, $videosDir) { $this->i
// 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;
}
}
但是,当我尝试使用以下命令从控制器调用它时:
$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
任何idea服务通常都保存在缓存中。 你试过清洗它吗
php app/console cache:clear --env=prod
php app/console cache:clear --env=dev
您应该将服务标记为
公共
:
file.uploader:
class: AppBundle\Services\FileUploader
public: true
arguments:
- '%images_directory%'
- '%videos_directory%'
您是否设置了xdebug?我认为这是解决这个问题的最快方法。只需跟踪代码执行,看看为什么找不到服务。我一定会在下次查看,谢谢。
file.uploader:
class: AppBundle\Services\FileUploader
public: true
arguments:
- '%images_directory%'
- '%videos_directory%'