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中的一个很好的例子,适合我,谢谢。