方法中的“@Sensio\Bundle\FrameworkExtraBundle\Configuration\Route”不存在,或无法自动加载”

Posted

技术标签:

【中文标题】方法中的“@Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Route”不存在,或无法自动加载”【英文标题】:"@Sensio\Bundle\FrameworkExtraBundle\Configuration\Route" in method ... does not exist, or could not be auto-loaded"方法中的“@Sensio\Bundle\FrameworkExtraBundle\Configuration\Route”不存在,或无法自动加载” 【发布时间】:2021-06-07 15:20:15 【问题描述】:

我正在将 symfony 的版本从 2.8 升级到 3.0.9,在修复了一些库版本的错误和其他问题后,我尝试运行命令“php bin/console cache:clear”,但出现问题:

C:\inetpub\wwwroot\360forfuture>php bin/console cache:clear

 // Clearing the cache for the dev environment with debug true



  [Symfony\Component\Config\Exception\FileLoaderLoadException]
  [Semantical Error] The annotation "@Sensio\Bundle\FrameworkExtraBundle\Configuration\Route" in method H360\ParkingBundle\Controller\DisponibilidadController::indexAction() does not exist, or could not be auto-loaded in C:\inetpub\wwwroot\360forfuture\src\H360\
  ParkingBundle/Controller/DisponibilidadController.php (which is being imported from "C:\inetpub\wwwroot\360forfuture\src\H360\ParkingBundle/Resources/config/routing.yml").



  [Doctrine\Common\Annotations\AnnotationException]
  [Semantical Error] The annotation "@Sensio\Bundle\FrameworkExtraBundle\Configuration\Route" in method H360\ParkingBundle\Controller\DisponibilidadController::indexAction() does not exist, or could not be auto-loaded.


cache:clear [--no-warmup] [--no-optional-warmers] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command>

这是我的文件“DisponibilidadController.php”的一部分:

namespace H360\ParkingBundle\Controller;

use H360\generalBundle\Tools\Controller360 as Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use H360\ParkingBundle\Entity\ParParkingPlazas;
use H360\ParkingBundle\Entity\ParParkingReservas;
use H360\ParkingBundle\Form\GenDisponibilidadParkingType;
use H360\ParkingBundle\Form\GenCrearReservaParkingType;

/**
 * 
 */
class DisponibilidadController extends Controller 

    /**
     * @Route("/index", name="disponibilidad_parking_index")
     *   
     * 
     */
    public function indexAction() 

        // Formulario de búsqueda
        $options = array();
        $options['establecimiento'] = $this->IdEstabActual();
        ...

这是我的文件“routing.yml”的一部分:

parking_disponibilidad:
    resource: "@ParkingBundle/Controller/DisponibilidadController.php"
    prefix:   /disponibilidad
    type:     annotation

所以,要记住的另一件事是,在新的 Symfony 版本中,我在 config.yml 中启用了“sensio_framework_extra”......也许 RestBundle 和 this 之间存在冲突......或者 sintax 是现在不同了。 有什么想法吗?

【问题讨论】:

经典例子:我告诉过你。 你可能需要删除缓存目录然后让 Symfony 重新生成缓存。我已经看到清除缓存并不总是有效。不久前我从 Symfony 松弛频道获得了这个提示。 @RobertSaylor 谢谢,但我已经尝试删除缓存并存在同样的问题......在项目中,YML文件中有很多地方是资源类型的“注释” “指向”一个文件 PHP。 最后,我解决了这个问题。文件“autoload.php”是错误的。谢谢 ! @RobertSaylor 【参考方案1】:

最后,我解决了这个问题。文件“autoload.php”是错误的。

【讨论】:

以上是关于方法中的“@Sensio\Bundle\FrameworkExtraBundle\Configuration\Route”不存在,或无法自动加载”的主要内容,如果未能解决你的问题,请参考以下文章

JQ中的clone()方法与DOM中的cloneNode()方法

Python:如何使用父类中的方法装饰子类中的方法?

Async/Await 同步方法中的异步和异步方法中的异步

打字稿:使父类中的公共方法成为派生类中的私有/受保护方法

为啥基类指针指向基类中的纯虚方法,而不是派生类中的覆盖方法?

Java8新特性-----接口中的默认方法和静态方法