Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以使用Symfony';非Symfony项目中的s管线注释_Php_Symfony_Routes_Annotations - Fatal编程技术网

Php 我可以使用Symfony';非Symfony项目中的s管线注释

Php 我可以使用Symfony';非Symfony项目中的s管线注释,php,symfony,routes,annotations,Php,Symfony,Routes,Annotations,我已经在这里试过了 但我没能做到 我有点好奇,想知道在Symfony 5下,这种东西到底需要什么 从加载五个包开始: composer require symfony/routing composer require symfony/config composer require symfony/framework-bundle composer require doctrine/annotations composer require doctrine/cache 然后需要调整compose

我已经在这里试过了 但我没能做到


我有点好奇,想知道在Symfony 5下,这种东西到底需要什么

从加载五个包开始:

composer require symfony/routing
composer require symfony/config
composer require symfony/framework-bundle
composer require doctrine/annotations
composer require doctrine/cache
然后需要调整composer.json以自动加载应用程序类:

# composer.json
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    }
当然,运行“composer dump autoload”

然后我做了一个测试控制器:

# app/Controller/DefaultController.php
namespace App\Controller;

use Symfony\Component\Routing\Annotation\Route;

class DefaultController
{
    /**
     * @Route("/",name="index")
     */
    public function index()
    {
    }
    /**
     * @Route("/hello",name="hello")
     */
    public function hello()
    {
    }
}
之后,问题中的加载代码按预期工作。所以我不想在这里重复了

有点奇怪的是,Symfony仍然依赖于条令来完成一些注释处理。需要注意的是,方法AnnotationRegistry::registerLoader已贬值,因此当Doctrine最终更新为3.x时,必须对代码进行调整。或者可能会删除条令注释依赖项

另一件有点遗憾的事情是AnnotatedLooteControllerLoader类需要加载整个Symfony框架包。类本身只负责设置_controllerroute属性。将类克隆到您自己的应用程序中可能是值得的,这样就不需要在整个捆绑包中拖动


如果有人碰巧发现了这个答案,这里有一个。

“composer require symfony/config”应该可以帮助您克服这个错误。可能会遇到其他问题。Github中的一个很好的例子,适合我,谢谢。