小编JPa*_*991的帖子

为什么我们在Symfony2控制器的方法中使用"Action"?

我刚刚开始研究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这个,但我没有提到或推理为什么.有人可以解释为什么我们使用那个后缀?

php symfony

4
推荐指数
1
解决办法
1240
查看次数

"无法为指定路由生成URL

我刚刚开始玩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)

php symfony

2
推荐指数
1
解决办法
3万
查看次数

标签 统计

php ×2

symfony ×2