我注意到Laravel 4正在使用一些PSR标准。我最近安装了SenioLabs工具php-cs修复程序,当我们想要遵循php编码标准时,它可以检测并修复大多数问题。
我已经在我的裸Laravel 4副本中执行了命令,这就是日志。
php-cs-fixer fix app/
! Class User in /home/javier/Code/laravel/app/models/User.php should have at least a vendor namespace according to PSR-0 rules
! Class DatabaseSeeder in /home/javier/Code/laravel/app/database/seeds/DatabaseSeeder.php should have at least a vendor namespace according to PSR-0 rules
! Class HomeController in /home/javier/Code/laravel/app/controllers/HomeController.php should have at least a vendor namespace according to PSR-0 rules
! Class BaseController in /home/javier/Code/laravel/app/controllers/BaseController.php should have at least a vendor namespace according to PSR-0 rules
输出显示了与自动加载标准PSR-0有关的一些问题。
这是怎么回事??
感谢您的帮助。
在github laravel跟踪器上报告问题后,我得到了@javiervd的大力回应。
这是的答案
问题是"app"文件夹中的类不遵循PSR-0,这就是为什么composer自动加载器使用classmap而不是PSR-0。
引用@daylerees
现在你可能会问自己,为什么Laravel不默认设置?
Laravel不知道你的项目叫什么,根命名空间是什么。这是一个零配置框架,意味着它应该"开箱即用"。类映射是最明智的选择。
这很有道理。