Symfony2调用方法在其他方法中来自同一个Controller

时间:2015-12-03 08:15:03

标签: symfony methods controller request

是否有可能在另一个方法中调用一个方法? 我需要在另一个方法中使用“viewAction”方法的(twig呈现)输出。

由于我不想重复自己,我想再次调用“viewAction”,但是我收到一个错误,上面写着:

Catchable Fatal Error: Argument 2 passed to PrCompetitionBundle\Controller\CompetitionController::viewAction() must be an instance of Symfony\Component\HttpFoundation\Request, none given

这是因为viewAction请求ID:

   public function viewAction($id,Request $request)

在控制器内部,没有请求,因此弹出此错误。

我怎样才能使用该方法?

这是因为我需要输出一个渲染的Html内容,其中包含必须填充的树枝占位符。

这与丢失的用例无关。实际上,我包括了以下内容(这些都是必要的):

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\BrowserKit\Response;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityRepository;
use Symfony\Component\DomCrawler\Crawler;
use RuntimeException;
use Wa72\HtmlPageDom\HtmlPageCrawler;
use Wa72\HtmlPageDom\HtmlPage;

对于Momemnt,我尝试将Action称为:

$request->request->set('id', $partner->getUniquename());
    return $this->render('MyBundle:Output:crawl.html.twig',
        array(
            'source'=>$this->viewAction($partner->getUniquename(), $request),
            'wrapper' => $wrapper,
            )
    );

最后,我只想呈现一些可能包含一些占位符甚至是表单的html代码。但是在一个将被渲染的tmeplate里面。

0 个答案:

没有答案