Symfony2路由不支持的密钥 - php

我正在学习Symfony 2,但是有一些问题。通过使用教程,我在包中的routing.yml中创建了此路由:

acme_demo_homepage:
path:     /hello/{name}
defaults: { _controller: AcmeDemoBundle:Default:index }

random:
path:     /random/{limit}
defaults: { _controller: AcmeDemoBundle:Random:index }

Eclipse在声明defaults的行显示了一个错误,并告诉我:是意外的。

我已经创建了控制器:

<?php
namespace Acme\DemoBundle\Controller;
use Symfony\Component\HttpFoundation\Response;

class RandomController
{


public function indexAction($limit)
{
    return new Response('<html><body>Number: '.rand(1, $limit).'</body></html>');
}

}

但是当我尝试执行localhost/app_dev.php/random/10时,会出现此错误:

路由文件“ C:\ xampp \ htdocs \ progetti \ Symfony \ src \ Acme \ DemoBundle / Resources / config / routing.yml”包含不受支持的“ acme_demo_homepage”密钥:“随机”。预期之一:“资源”,“类型”,“前缀”,“模式”,“路径”,“主机”,“方案”,“方法”,“默认值”,“需求”,“选项”,“条件” ”。

参考方案

我认为这是一个缩进问题。根据YAML规范:

“在YAML块样式中,结构由缩进确定。在
通常,缩进定义为零个或多个空格字符
为了保持可移植性,切勿在缩进中使用制表符,因为不同的系统对待制表符的方式有所不同。请注意,大多数现代编辑器都可以配置为按下Tab键可导致插入适当数量的空格。

所以:

acme_demo_homepage:
    path:     /hello/{name}
    defaults: { _controller: AcmeDemoBundle:Default:index }

random:
    path:     /random/{limit}
    defaults: { _controller: AcmeDemoBundle:Random:index }

另外,您可以在PHP中设置路由(这是我的偏爱)。例如:

<?php
 //src/Acme/DemoBundle/Resources/config/routing.php

use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;

$collection = new RouteCollection();

# main route
$collection->add('_index', new Route('/dashboard/index/{page}/{year}/{month}', array(
    '_controller' => 'AcmeDashboardBundle:Default:index',
    'page'        => 1,
    'year'        => date('Y'),
    'month'       => date('n'),
)));

return $collection;
//end of file

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

Symfony Router UrlMatcher中match参数和RequestContext之间的区别 - php

我不了解Symfony路由组件的API的语义。从the Routing Component documentation page上的第一个代码示例:$context = new RequestContext('/'); $matcher = new UrlMatcher($routes, $context); $parameters = …

Symfony 2在用户站点上动态添加字段以形成表单 - php

我正在研究调查包。目的是为用户提供一个功能全面的调查系统。我已经准备好一个后端,使您可以创建调查,添加问题(打开文本,单选按钮,复选框),是否需要提问,激活调查,生成令牌以及通过电子邮件将令牌发送到调查的链接。当然,我也有显示调查并保存答案的前端。现在,我想添加另一种可能性。带有答案(单选或复选框)和评论的问题。例如:你有一只狗吗?是没有如果用户选择是,则附…