在 symfony 3 中,测试位于 ./tests/ 目录中(不再位于 ./src/ 中)。但测试文件使用命名空间 Tests...(首字母大写),它也在 composer.json 中配置(作为 psr-4 加载器)。
但是这种大小写的差异似乎违反了 PSR0。至少 php-cs-fixer 报告了 fixer "psr0" 的失败,并希望调用命名空间 "tests\..."(全部小写)。
- 有谁知道为什么目录名称是测试但名称空间是测试?
- 这真的违反了有效的 PSR 还是 PSR-0 已被 PSR-4 过时并且现在有效?
- 如果它是有效的:是否有其他修复程序或者我可以配置这个修复程序(在源代码中不理解)或者......?
我宁愿不禁用修复程序,因为子目录名称和文件名“必须与相应命名空间和类的大小写匹配”。
信息:
symfony:v3.1.2
PHP CS Fixer:版本 1.11.5
运行 php-cs-fixer:php php-cs-fixer --level=symfony tests/AppBundle/Controller/DefaultControllerTest.php
链接:
psr -4:http
://www.php-fig.org/psr/psr-4/#2-specification 修复程序 psr0:https ://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/1.11/Symfony /CS/Fixer/PSR0/Psr0Fixer.php