symfony中的getContainer

时间:2014-01-10 06:32:19

标签: php symfony

嘿伙计们试图从树枝模板中获取一个块,然后将它渲染到我的索引模板中:

{% block round1 %}
<h1> hello this is a sample for a round 1</h1>
{% endblock %}

{% block round2 %}
<h1> hello this is a sample for a round 1</h1>
{% endblock %}

然后使用

将其转到我的控制器
  use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  use Alvin\MainBundle\Entity\User;
  use Symfony\Component\HttpFoundation\Request;
  use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
  use Alvin\MainBundle\Form\Type\ResetPasswordType;


  $templateContent = $this->getContainer()->get('twig')->loadTemplate('AngpaoMainBundle:Dynamic:dynamic.html.twig');
  $bodydynamics = $templateContent->renderBlock('round1');

然后在我的索引模板中使用它

{{dynamic}}

然后我遇到了问题而symfony说

FatalErrorException: Error: Call to undefined method 
Alvin\MainBundle\Controller\IndexController::getContainer() in /Users/alvinvaldez/Sites/alvinwebsite/src/Alvin/MainBundle/Controller/IndexController.php line 26

我不知道如何使用容器来运行容器。 请帮帮我们

btw:symfony中的新手级别

tnx in advanced!

1 个答案:

答案 0 :(得分:8)

控制器没有getContainer()方法。

您可以$this->container直接访问$this->container->get('twig')

但是Symfony为控制器提供了快捷方法,你也可以使用$this->get('twig')