Czy jest jakis prosty sposob w Symfony aby utworzyc taka tablice
[ 'foo' => new class Bar(tutaj parametry wazne zeby miec dostep do kontenera) ]
Jako np service i przekazac Ja dalej jako dependencje ?
<?php namespace BPO\COFBundle\Factory; use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Symfony\Component\DependencyInjection\ContainerAwareTrait; class LocationSyncMapping implements ContainerAwareInterface { use ContainerAwareTrait; /** * @return array */ { return [ 'marszalkowska' => $this->getMarszalkowskaLocation() ]; } /** * @return MarszalkowskaLocation */ public function getMarszalkowskaLocation() { return new MarszalkowskaLocation( $this->container->get('database_connection') ); } }
<?php namespace BPO\COFBundle\Factory; class LocationSyncFactory implements LocationSyncFactoryInterface { /** * @var LocationSyncMapping */ private $mapping; /** * @param LocationSyncMapping $mapping */ public function __construct( LocationSyncMapping $mapping ) { $this->mapping = $mapping; } /** * {@inheritdoc} */ public function create(string $name, string $file) { /* @var $location LocationInterface */ $location = $this->mapping->getMappings()[$name]null;
throw new \InvalidArgumentException(); } return $location->synchronize($file); } }