コンテナー サービスを作成したいので、コンストラクターで classe を使用します。
service.xml :
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="myapp_mybundle.locationmanager.class">My_app\MyBundle\Manager\LocationManager</parameter>
<parameter key="myapp_mybundle.rootLocation">rootLocation</parameter>
</parameters>
<services>
<service id="myapp_mybundle.locationmanager" class="%myapp_mybundle.locationmanager.class%">
<argument>%myapp_mybundle.rootLocation%</argument>
</service>
</services>
MyappMyBundleExtension.php
$container->set('myapp_mybundle.locationmanager', $manager);
クラス locationManager :
class LocationManager
{
/**
* @var Location
*/
protected $rootLocation;
public function __construct(Location $rootLocation)
{
$this->rootLocation = $rootLocation;
}
.....
およびコントローラーのいくつかのアクション:
$locationManager = $this->container->get("myapp_mybundle.locationmanager");
このエラーが発生します:
You have requested a non-existent service "myapp_mybundle.locationmanager".