1

symfony2の使用このドキュメントに従って、一般的なタスクを実行するためのサービスを作成して使用しています。

ほぼ完成しましたが、まだ問題が 1 つあります (Symfony2.

クラスは次のようなものです。

class MyClass{
    private $myProperty;

    public funciton performSomethingGeneral{
        return $theResult;
    }
}

今、私のconfig.ymlで:

services:
    myService:
        class: Acme\MyBundle\Service\MyClass
        arguments: [valueForMyProperty]

最後に、私のコントローラーで:

$myService = $this -> container -> get('myService');

その行の後、 を調べる$myServiceと、まだ $myService -> $myProperty が初期化されていないことがわかります。

ちゃんと取れていないものがあります。プロパティを初期化し、以前に設定した値で使用できるようにするには、他に何をする必要がありますconfig.ymlか? また、複数のプロパティを設定するにはどうすればよいですか?

4

1 に答える 1

6

argumentsyml ファイルからサービスのコンストラクターに渡されるため、そこで処理する必要があります。

services:
    myService:
        class: Acme\MyBundle\Service\MyClass
        arguments: [valueForMyProperty, otherValue]

およびphp:

class MyClass{
    private $myProperty;
    private $otherProperty;

    public funciton __construct($property1, $property2){
         $this->myProperty = $property1;   
         $this->otherProperty = $property2;   
    }
}
于 2012-10-27T11:48:42.517 に答える