我创建自己的捆绑包。此捆绑包中有一个类。
在这个类中,我有一个变量$Url
。我想在另一个包中的控制器中使用这个变量。如何将变量传递给不同包中的控制器?
听起来您需要将该类转换为服务并使用依赖注入设置 $url 值。或者如果您计划在一个控制器中修改 $url 并稍后在另一个控制器中再次访问它,您可能需要保留 $url上。无论哪种方式,您都需要将该类文件转换为服务。
我认为最好的选择是创建一个控制器即服务。您可以在Richard Miller 的博客文章中了解这一点。
完成后,您可以创建一个值为 的服务参数$Url
:
# app/config/config.yml
parameters:
my_first_bundle.url: Some value
services:
# request and response services
my.response:
class: Symfony\Component\HttpFoundation\Response
my.request:
class: Symfony\Component\HttpFoundation\Request
# controller services
my_second_bundle.mycontroller:
class: Acme\MySecondBundle\Controller\MyController
arguments: [ %my.response%, %my.request%, %my_first_bundle.url% ]