我正在将一些Silex代码迁移到Symfony项目..我想知道Symfony等同于注册像这样的Pimple服务:
$app['service.test1'] = $app->protect(...)
$app['service.test2'] = $app->share(...)
任何其他指针也受到赞赏。
答案 0 :(得分:1)
我会查看服务容器上的docs,以便对服务有一个基本的了解。
根据this,在新版本的Silex中删除了share
。 share
似乎等同于您将在symfony文档中阅读的常规服务定义。
我从来没有在Symfony中使用protect
之类的东西,我想你可以用你的函数声明一个类并使用__invoke
方法。
class Adder
{
public function __invoke($a, $b) {
return $a + $b;
}
}
然后在YourBundle/Resources/config/services.yml
services:
adder:
class: MyNamespace\Adder
你可以像这样使用它:
$adder = $this->container->get('adder');
$result = $adder(1,2);
答案 1 :(得分:-1)
使用Service Container注册您的服务。 Symfony不使用Pimple。