Symfony 2.7路由错误?
我正在学习Symfony2制作测试程序。我遇到了一些关于symfony路由错误的错误。错误是:Symfony 2.7路由错误?
Class AppBundle\Controller\DefaultController does not exist in C:\projects\classic-symfony\src\AppBundle/Controller/
(这是从"C:\projects\classic-symfony\app/config\routing.yml"
导入)。
当然我删除了,所以写了2行,DefaultController.php
在C:\projects\classic-symfony\src\AppBundle/Controller/
,并且部署了ToppageController.php
而不是它。
ToppageController.php
非常简单,下面,
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class ToppageController extends Controller
{
/**
* @Route("/")
*/
public function indexAction()
{
return $this->rendor('Toppage/index.html.twig');
}
}
为什么这个代码不工作?这是路由问题?
4.23.2016 谢谢大家。我不在办公室,所以下周会尝试和回复。
4.25.2016 我回复了新回答的问题。你能帮助解决这个问题吗?
您需要将route
从app/config/routing.yml
删除到此控制器。
之后,不要忘记清除缓存。在dev
环境中,你可以运行:
php app/console cache:clear
在prod
环境中,你需要添加参数:
php app/console cache:clear --env=prod
谢谢您的答复。
我写的应用程序/配置/ routing.yml文件到以下
app:
resource: "@AppBundle/Controller/"
type: annotation
这似乎是指在的appbundle /控制器/源代码注释。 我试图运行
php app/console cache:clear
但是下面会显示在控制台上,
[Symfony\Component\Config\Exception\FileLoaderLoadException]
Class AppBundle\Controller\DefaultController does not exist in C:\projects\classic-symfony\src\AppBundle/Controller/ (which is being imported from "C:\projects\classic-symfony\app/config\routing.yml").
[ReflectionException]
Class AppBundle\Controller\DefaultController does not exist
这意味着它不能清除缓存?
我现在也有完全相同的问题 - 我不知道我得到了它 - 从我读过的这个位的配置文件中,应该允许控制器在该指定的bundle下运行的任何子目录下运行(运行S3.2.1? ) –
在您的目录中搜索AppBundle并查找App Bundle仍在被引用的实例。摆脱那些可能在routing.yml/services.yml中的实例,然后运行
php bin/console cache:clear --env = prod
return $ this-> render代替this-> rendor –
You可能已经删除了(改变了)'DefaultController',但它可能在'app/config/routing.yml'中被连接*应用程序。检查该文件的内容。然后检查[手动](http://symfony.com/doc/current/book/routing.html#including-external-routing-resources)。 – Yoshi
感谢您的回复。 – Hideaki