In Pimple 1.0 I used to be able to share class instances like this:
$app['some_service'] = $app->share(function () {
return new Service();
});
This now seems to be deprecated and I am unable to find what is the new way of doing this.
In Pimple 1.0 I used to be able to share class instances like this:
$app['some_service'] = $app->share(function () {
return new Service();
});
This now seems to be deprecated and I am unable to find what is the new way of doing this.
In Pimple 1.0 (Silex 1), you do this:
$app['shared_service'] = $app->share(function () {
return new Service();
});
$app['non_shared_service'] = function () {
return new Service();
};
In Pimple 3.0 (Silex 2) you do this (which is the opposite!):
$app['shared_service'] = function () {
return new Service();
};
$app['non_shared_service'] = $app->factory(function () {
return new Service();
});
Depends of the Pimple version!
On Pimple 1.0
$container['shared'] = $container->shared(function(){
return new Class();
});
$container['non_shared'] = function() {
return new Class();
};
On Pimple 3.0
$container['shared'] = function() {
return new Class();
};
$container['non_shared'] = $container->factory(function() {
return new Class();
});
Remembering, when you create a shared service, what they return will not change. When you create a non shared service, every time you use, the Pimple will provide to you a new instance of it service.