Symfony2:使用config.xml中定义的参数


Symfony2: use parameter defined in config.xml

我有一个paginator类,它应该可以从控制器获取config.xml和当前页面的限制。

如何在config.xml中定义限制,以及如何在控制器之外访问它?

问候

将分页器类定义为DIC服务,并将service_container添加为服务,例如

//paginator class 
//namespace definitions
use Symfony'Component'DependencyInjection'ContainerInterface;
class Paginator{
    /**
     * @var Symfony'Component'DependencyInjection'ContainerInterface 
     */
    private $container;
    public function __construct(ContainerInterface $container){
        $this->container = $container;
    }
    public function yourPaginationMethod(){
        $limit = $this->container->getParameter("limit.conf.parameter");
        //rest of the method
    }
}

然后在你的包裹的services.yml

 #services.yml
 paginator_service:
  class: FQCN'Of'Your'PaginatorClass
  arguments: [@service_container]

在您的控制器中,您可以通过以下方式访问Paginator

//in controller method
$paginator = $this->get('paginator_service');

有关它的更多信息,您可以查看Symfony文档的服务容器部分。