我是symfony框架的新手.它引发渲染错误.我尝试了所有的建议
@App/default/index.html.twig
AppBundle:default:index.html.twig
default/index.html.twig
Run Code Online (Sandbox Code Playgroud)
使用routing.yml
app:
resource: "@AppBundle/Controller/"
type: annotation
lucky_number:
path: /lucky/number/{count}
defaults: { _controller: AppBundle:Lucky:number }
Run Code Online (Sandbox Code Playgroud)
LuckyController.php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class LuckyController
{
/**
* @Route("/lucky/number/{count}")
*/
public function numberAction($count)
{
$number = rand(0, 100);
$html = $this->render('@App/default/index.html.twig','number'=>$number);
//$html = $this->container->get('templating')->render('AppBundle:default:index.html.twig',array('number' => $number));
//$html = $this->container->get('templating')->render('default/index.html.twig',array('number' => $number));
return new Response($html);
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
尝试调用类"AppBundle\Controller\LuckyController"的名为"render"的未定义方法.
小智 14
您忘记使用symfony控制器扩展控制器类.
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class LuckyController extends Controller // <-- HERE
{
/**
* @Route("/lucky/number/{count}")
*/
public function numberAction($count)
{
$number = rand(0, 100);
return $this->render('AppBundle:default:index.html.twig',array('number' => $number));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6304 次 |
| 最近记录: |