Trong điều khiển Symfony2 của tôi, điều này hoạt động tốt:Symfony2-Làm thế nào để sử dụng truy cập một dịch vụ từ bên ngoài của một bộ điều khiển
$uploadManager = $this->get('upload.upload_manager');
nhưng khi tôi di chuyển nó đến một Listener tùy chỉnh:
use Doctrine\ORM\Event\LifecycleEventArgs;
use Acme\UploadBundle\Upload\UploadManager;
class PersonChange
{
public function postRemove(LifecycleEventArgs $args)
{
$entity = $args->getEntity();
$entityManager = $args->getEntityManager();
$uploadManager = $this->get('ep_upload.upload_manager');
echo "the upload dir is " . $uploadManager->getUploadDir();
}
}
Tôi nhận được thông báo lỗi:
Fatal error: Call to undefined method Acme\MainBundle\Listener\PersonChange::get() in /home/frank/...
Tôi biết tôi phải cần một tuyên bố sử dụng nhưng không 't biết những gì để sử dụng.
nên này cung cấp một giải pháp có thể: [Làm thế nào để tôi nhận được các phụ thuộc dịch vụ trong một lớp tùy chỉnh] (http://stackoverflow.com/questions/8622382/how-do-i-get-services-dependencies-in-a-custom-class) – kufi