1
我正在开发一个使用Silex和YAML的PHP应用程序。如何在YAML中表示PHP关闭?
现在我想用YAML语言概念表示一个PHP闭包。最好的方法是什么?有办法做到这一点?
以下代码是我想要“翻译”到YAML的示例。
'users' => function() use ($app) {
return new UserProvider();
}
谢谢!
我正在开发一个使用Silex和YAML的PHP应用程序。如何在YAML中表示PHP关闭?
现在我想用YAML语言概念表示一个PHP闭包。最好的方法是什么?有办法做到这一点?
以下代码是我想要“翻译”到YAML的示例。
'users' => function() use ($app) {
return new UserProvider();
}
谢谢!
这就是Symfony所做的:您首先将您的用户提供者定义为服务。随着Silex的,你可以做到这一点:
$app['my_user_provider'] = function() use ($app) {
return new UserProvider();
};
然后,在你的YAML配置,您通过您要使用的服务标识。类似于:
security:
user_provider: my_user_provider
我很确定他问的是如何定义服务,而不是如何使用服务。 Symfony容器允许您使用yaml定义服务。 Pimple容器(Silex使用的容器)没有。 – Cerad
其实我不知道我是否清楚。我使用yaml设置了防火墙,所以我想表示如下: '$ app ['security.firewalls'] = array( 'admin'=> array( 'pattern'=>'^ /管理员, 'HTTP'=>真实, '使用者'=>()函数使用($ APP){ 返回新UserProvider(); } ), );' –
不,你是清楚的。你只需要解析yaml并编译你的DIC。 – Federkun