How to define controllers as services in Symfony2

在symfony2中如何将controller定义为一个service ,并在路由配置文件中使用定义的控制器服务呢?其实很简单,就像把其他的类定义为服务一样,直接上代码:

首先定义一个controller控制器,然后在你项目中的 services.xml  (src/Acme/AppBundle/Resources/config/services.xml) 中添加如下代码:

如何在路由配置文件里面使用定义好的控制器服务呢? 其实也很简单,在你的项目的路由配置routing.yml  ( src/Acme/AppBundle/Resources/config/routing.yml )文件里面,添加如下配置即可:

如果你需要在其他控制器或者类中需要使用定义好的这个控制器服务,只需要将symfony的容器注入到相应的类里面,然后这样获得即可:

 

 

No Comments