7

Pimple 1.0 では、次のようにクラス インスタンスを共有できました。

$app['some_service'] = $app->share(function () {
    return new Service();
});

これは現在廃止されているようで、これを行う新しい方法を見つけることができません。

4

3 に答える 3

13

Pimple 1.0 (Silex 1) では、次のようにします。

$app['shared_service'] = $app->share(function () {
    return new Service();
});

$app['non_shared_service'] = function () {
    return new Service();
};

Pimple 3.0 (Silex 2) では、これを行います (これは反対です!):

$app['shared_service'] = function () {
    return new Service();
};

$app['non_shared_service'] = $app->factory(function () {
    return new Service();
});
于 2016-01-18T10:48:17.647 に答える
2

pimple 3.0 (Silex 2.0 が使用) では、デフォルトで常に同じサービス インスタンスを返すようです。この動作が望ましくない場合は、それについて明示し、ファクトリ関数を使用する必要があります。

于 2016-01-12T20:01:58.360 に答える