나는이 방법으로 컨트롤러 내에서 호출 여러 가지 서비스를 제공하는 프로젝트를하고 있어요 :
$service = $this->get('myservice');
하지만 난이 다른 방법으로 'MYSERVICE'를 부를 수있는 것으로 나타났습니다 : 물론
$service = $this->container->get('myservice');
서비스 서비스 선언의 DI 예 활용이 호출 사이에 어떤 차이가
myservice:
public: true
class: path/to/service
arguments:
- '@someEntityRepository'
someEntityRepository:
class: Doctrine\ORM\EntityRepository
factory: ['@doctrine.orm.entity_manager', getRepository]
arguments: [path\to\Entity\someEntity]
있습니까? 그렇다면 어떤 것을 사용해야합니까? 왜?
처음 시작한 것으로 보인 이후 [action injection] (https://symfony.com/doc/current/controller.html#fetching-services-as-controller-arguments)을 사용해보십시오. S3.3 +가 필요합니다. 전체 질문을 부적합하게 만듭니다. – Cerad
불행히도 저는 심포니 2.8에있는 프로젝트에서 작업하고 있습니다. (내가 원하지만) 그것을 업그레이드 할 수 없습니다. – MatiRC