首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2:找不到GET/lucky/number的路由

Symfony2:找不到GET/lucky/number的路由
EN

Stack Overflow用户
提问于 2015-08-10 20:13:30
回答 5查看 23.8K关注 0票数 22

我开始了这个教程(作为新手),一切都很好,直到:

创建页面步骤中的http://symfony.com/doc/current/book/page_creation.html#creating-a-page-route-and-controller:路由和控制器

我已经创建了一个名为/var/www/html/[projekt]/src/AppBundle/Controller/LuckyController.php的文件

但当我打开http://[Server-IP]:8000/app_dev.php/lucky/number时,总是得到一个404:

代码语言:javascript
复制
No route found for "GET /lucky/number"
404 Not Found - NotFoundHttpException
1 linked Exception: ResourceNotFoundException »

[2/2] NotFoundHttpException: No route found for "GET /lucky/number"   +
[1/2] ResourceNotFoundException:    +

routing.yml

代码语言:javascript
复制
app: 
    resource: "@AppBundle/Controller/" 
    type: annotation

控制器

代码语言:javascript
复制
namespace AppBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class LuckyController 
{ 

    /**
     * @Route("/lucky/number") 
     */
    public function numberAction() 
    { 
        $number = rand(0, 100);
        return new Response( '<html><body>Lucky number: '.$number.'</body></html>' ); 
    }
}

不知道错误在哪里。

错误-在/var/www/html/Symfony-Folder/app/cache/dev/classes.php行2061处,未捕获Symfony\Component\HttpKernel\Exception\NotFoundHttpException:“未找到"GET / line /number”“的路由

代码语言:javascript
复制
php app/console debug:route
 [router] Current routes
 Name                     Method Scheme Host Path
 _wdt                     ANY    ANY    ANY  /_wdt/{token}
 _profiler_home           ANY    ANY    ANY  /_profiler/
 _profiler_search         ANY    ANY    ANY  /_profiler/search
 _profiler_search_bar     ANY    ANY    ANY  /_profiler/search_bar
 _profiler_purge          ANY    ANY    ANY  /_profiler/purge
 _profiler_info           ANY    ANY    ANY  /_profiler/info/{about}
 _profiler_phpinfo        ANY    ANY    ANY  /_profiler/phpinfo
 _profiler_search_results ANY    ANY    ANY  /_profiler/{token}/search/results
 _profiler                ANY    ANY    ANY  /_profiler/{token}
 _profiler_router         ANY    ANY    ANY  /_profiler/{token}/router
 _profiler_exception      ANY    ANY    ANY  /_profiler/{token}/exception
 _profiler_exception_css  ANY    ANY    ANY  /_profiler/{token}/exception.css
 _configurator_home       ANY    ANY    ANY  /_configurator/
 _configurator_step       ANY    ANY    ANY  /_configurator/step/{index}
 _configurator_final      ANY    ANY    ANY  /_configurator/final
 _twig_error_test         ANY    ANY    ANY  /_error/{code}.{_format}
 homepage                 ANY    ANY    ANY  /
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-08-11 14:04:24

我刚刚添加了一个

代码语言:javascript
复制
<?php

添加到文件"LuckyNumberController“中,它就可以工作了。真的很奇怪。

谢谢大家

票数 22
EN

Stack Overflow用户

发布于 2015-11-02 12:24:25

尝试此URL:

http://[Server-IP]:8000/app_dev.php/en/lucky/number

Symfony Book中有一个bug :他们忘记了演示应用程序支持i18n。

只需在路由参数之前添加"/en“参数即可。

我知道这个问题已经结束了,但我希望我的答案能帮助其他仍然面临这个问题的人。

票数 6
EN

Stack Overflow用户

发布于 2015-08-11 00:46:25

我在现有的Symfony项目中复制并粘贴了您的控制器,路由立即出现。所以控制器没有任何问题。

我还比较了routing.yml和它是一样的。

剩下的唯一一件事就是检查文件夹结构,并确保您没有将不同的Symfony项目混在一起;也许您正在编辑正确的文件,但从不同的路径启动web服务器。

仔细检查或在完全不同的路径中重新构建项目。由于您正在使用嵌入式web服务器进行测试,因此不需要将项目放入/var/www/html (实际上最好不要放入)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31919257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档