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

时间:2012-03-30 17:18:03

标签: php parameters symfony config

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

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

此致

1 个答案:

答案 0 :(得分:2)

将您的paginator类定义为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文档的Service container部分。