【问题标题】:symfony Error: The file was found but the class was not in it, the class name or namespace probably has a typosymfony 错误:找到文件但类不在其中,类名或命名空间可能有错字
【发布时间】:2016-04-29 11:17:16
【问题描述】:

我是刚安装并尝试运行第一个代码的 symfony 框架的新手。

问题是: 如文档中所述,我创建了以下两个文件。

///home/scriptkiddie/symfony/projects/project1/src/AppBundle/Controller/MainController.php
 namespace AppBundle\Controller;
 use Symfony\Component\HttpFoundation\Response;

 class MainController
 {
   public function contactAction()
   {
     return new Response('<h1>Contact us!</h1>');
   }
 }

================================================ ======================

///home/scriptkiddie/symfony/projects/project1/app/config/routing.yml

app:
   resource: "@AppBundle/Controller/"
   type:     annotation

# app/config/routing.yml
contact:
    path: /contact
    defaults: { _controller: AppBundle:Main:contact }
~                                                     

现在,当我转到 url http://localhost:8000/contact

我收到以下错误:

在文件中定义的自动加载器预期类“AppBundle\Controller\MainController” “/home/scriptkiddie/symfony/projects/project1/src/AppBundle/Controller/MainController.php”。找到文件但类不在其中,类名或命名空间可能有错字。 500 内部服务器错误 - RuntimeException

【问题讨论】:

  • 在您的 routing.yml 中您指定“注释”,但您使用 yml 来路由...这很正常吗?

标签: symfony


【解决方案1】:

我认为您混合了两种路由定义。首先,您定义路由将由注释设置,然后您将通过 yml 设置注释。

您应该将此注释添加到您的控制器:

///home/scriptkiddie/symfony/projects/project1/src/AppBundle/Controller/ManController.php

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

     class MainController
     {

      /**
       * @Route("/contact", name="contact")
       */
       public function contactAction()
       {
         return new Response('<h1>Contact us!</h1>');
       }
     }

并丢弃 app/config/routing.yml 文件。

【讨论】:

  • 显示错误兄弟:找不到“GET /contact”的路由 404 Not Found - NotFoundHttpException 1 linked Exception: ResourceNotFoundException »
  • 完成@marcos的修改后清除缓存
  • 使用 Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;也需要,更新代码。
  • @Marcos Labad 我添加它仍然无法正常工作,甚至删除了 var/cache 中的所有文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多