ich in einem Projekt mit mehreren Diensten innerhalb Controller auf diese Weise aufgerufen arbeite:
$service = $this->get('myservice');
aber ich bemerkte, dass ich ‚myservice‘ in dieser anderen Art und Weise nennen könnte:
$service = $this->container->get('myservice');
Dienstleistungen natürlich nutzen DI Beispiel für Service-Deklaration:
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]
gibt es einen Unterschied zwischen diesen nennt? Wenn ja, welche sollte ich verwenden? Warum?
Da es so aussieht, als ob Sie gerade erst angefangen haben, sollten Sie [action injection] verwenden (https://symfony.com/doc/current/controller.html#fetching-services-as-controller-arguments). Brauchen Sie S3.3 +. Macht die ganze Frage irrelevant. – Cerad
Leider arbeite ich in einem Projekt, das in symfony 2.8 ist und ich kann es nicht upgraden (obwohl ich es will) – MatiRC