Php Symfony第一步问题
我是Symfony的新手,我正在学习一个教程。第一个练习很简单,但我不知道为什么不起作用 在我的源文件夹中,我首先尝试使用以下行:Php Symfony第一步问题,php,symfony,Php,Symfony,我是Symfony的新手,我正在学习一个教程。第一个练习很简单,但我不知道为什么不起作用 在我的源文件夹中,我首先尝试使用以下行: <?php namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\Response; class GenusController { /**
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
class GenusController
{
/**
* @Route("/genus")
*/
public function showAction()
{
return new Response('Test ');
}
}
它是有效的。但如果我添加新行:
class GenusController
{
/**
* @Route("/genus/{genusName}")
*/
public function showAction($genusName)
{
return new Response('The genus: '.$genusName);
}
}
并对其进行了测试:
http://localhost:8888/my_project/web/genus/test
我的浏览器显示:
哎呀!服务器返回“404未找到”时出错。
有东西坏了。请让我们知道当这一切发生时你在做什么
发生错误。我们会尽快修好的。对不起
造成不便
少了什么?
有什么建议吗
提前感谢
prod
环境中的:将缓存配置信息,而不会自动刷新。
这意味着:
- @php文件中的注释被缓存
- .yml文件被缓存
- .xml文件被缓存
- *.twig文件被缓存
app/console cache:clear--env=prod
,要么必须使用dev
环境,这在开发时要好得多。它还为404和500个错误提供了更好的错误消息
这意味着您必须使用app_dev.php
而不是app.php
。
你可以试试
http://localhost:8888/app_dev.php/my_project/web/genus/test
在
prod
环境中:配置信息被缓存,不会自动刷新。
这意味着:
- @php文件中的注释被缓存
- .yml文件被缓存
- .xml文件被缓存
- *.twig文件被缓存
app/console cache:clear--env=prod
,要么必须使用dev
环境,这在开发时要好得多。它还为404和500个错误提供了更好的错误消息
这意味着您必须使用app_dev.php
而不是app.php
。
你可以试试
http://localhost:8888/app_dev.php/my_project/web/genus/test
如何启动应用程序,
php-bin/console-server:start
?如果这样做,正确的url应该是:http://localhost:8888/genus/something
您是否尝试从您的开发环境访问?否则,请尝试清除缓存。我没有通过PHPBIN/console服务器:start启动我的应用程序。我正在使用MAMP,我认为我不必做什么else@fliim我刚刚尝试了一下,我发现了一个错误,没有找到“GET/genus/test”的路由,顺便说一句,在他们建议将“src”文件夹标记为Sources Root的教程中,这会有什么影响吗?如何启动应用程序,php bin/console server:start
?如果这样做,正确的url应该是:http://localhost:8888/genus/something
您是否尝试从您的开发环境访问?否则,请尝试清除缓存。我没有通过PHPBIN/console服务器:start启动我的应用程序。我正在使用MAMP,我认为我不必做什么else@fliim我刚刚尝试了一下,我发现了一个错误,没有找到“GET/genus/test”的路由,顺便说一下,在教程中,他们建议将“src”文件夹标记为Sources Root,这会有什么影响吗?我尝试了你的建议,但是我得到了一个错误:在这个服务器上找不到请求的URL/app_dev.php/my_project/web/genus/test。顺便问一下,在教程中,他们建议将“src”文件夹标记为Sources Root,这会有什么影响吗?您可以执行php app/console debug:router
并查看其中是否包含所需的路由吗?将“src”文件夹标记为源根目录是一种Phpstorm功能,不是吗?IDE与symfonyI无关。我尝试了php-app/console-debug:router命令,但没有成功,然后我尝试了php-bin/console-debug:router。是的,如果您使用的是bin/console
您使用的是symfony 3而不是symfony 2,我可以看到路由应用程序\u genus\u显示ANY/genusName}!我使用这个命令是因为我在教程中看到了它。我检查了版本(symfony-v)并安装了symfony安装程序(1.5.9),我得到了这些信息,使用最新稳定版本的symfony在当前目录中创建了一个名为blog的新项目,执行以下命令:symfony new blog,以及更多选项,如symfony new blog lts、symfony new blog 2.8或symfony new blog 3.0,symfony新博客2.8.1或symfony新博客3.0.1,symfony演示。我怎么知道我完成了完整的安装?我尝试了你的建议,但我得到了错误:找不到请求的URL/app_dev.php/my_project/web/genus/test在此服务器上找不到。顺便问一下,在教程中,他们建议将“src”文件夹标记为Sources Root,这会有什么影响吗?您可以执行php app/console debug:router
并查看其中是否包含所需的路由吗?将“src”文件夹标记为源根目录是一种Phpstorm功能,不是吗?IDE与symfonyI无关。我尝试了php-app/console-debug:router命令,但没有成功,然后我尝试了php-bin/console-debug:router。是的,如果您使用的是bin/console
您使用的是symfony 3而不是symfony 2,我可以看到路由应用程序\u genus\u显示ANY/genusName}!我使用这个命令是因为我在教程中看到了它。我检查了版本(symfony-v)并安装了symfony安装程序(1.5.9),我得到了这些信息,使用最新稳定版本的symfony在当前目录中创建了一个名为blog的新项目,执行以下命令:symfony new blog,以及更多选项,如symfony new blog lts、symfony new blog 2.8或symfony new blog 3.0,symfony新博客2.8.1或symfony新博客3.0.1,symfony演示。我怎么知道我完成了完整的安装?