我刚刚开始研究symfony2书.我想知道为什么我们命名控制器的功能Action:
public function [something]Action() { // ...
Run Code Online (Sandbox Code Playgroud)
在目前为止的书中的每个例子中,我在网上看到的所有代码Action都是函数名.它有什么理由吗?
这非常有效:
<?php
// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
class LuckyController extends Controller{
/**
* @Route("/lucky/number/{count}")
*/
public function countTESTING($count){
return new Response(
'<html><body>I DONT HAVE TO CALL THIS somethingACTION</body></html>
');
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我试过googline这个,但我没有提到或推理为什么.有人可以解释为什么我们使用那个后缀?
我刚刚开始玩symfony2,我正在努力添加网址等.当使用@Route传递名称时,我似乎无法获取我的树枝模板来获取我的功能.有什么想法吗?
控制器:
/**
* @Route("/cube/{number}", name="get_cubed")
*/
public function indexAction($number)
{
$cube = $number * $number * $number;
return $this->render('NumberCubedBundle:Default:index.html.twig',
array('number' => $number, 'cube' => $cube)
);
}
Run Code Online (Sandbox Code Playgroud)
我的Twig文件:
{% extends '::base.html.twig' %}
{% block title %}Cube Number Generator{% endblock %}
{% block body %}
{{ number }}^3 = {{ cube }}
<a href="{{ path('get_cubed', { 'number': 40 }) }}">Cube 40</a>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
错误:
An exception has been thrown during the rendering of a template ("Unable to generate a …Run Code Online (Sandbox Code Playgroud)