如何使作曲家(PSR-4)工作与".class.php"扩展


How To Make Composer (PSR-4) To Work With ".class.php" Extension?

我一直面临着"类未找到"错误的很多问题。但最近我发现了最初的问题。我之前关于这个问题的两个问题:-

编者给出错误,"类未找到"

PHP Composer PSR-4自动加载和子命名空间,类未找到

我对具有扩展class.php的类感兴趣,例如parent.class.phpchild.class.php。但是composer似乎无法识别这些文件,并且显示"Class Not Found"错误。如果我使用简单的。php扩展(child.phpparent.php),问题就解决了。

我想知道是否有可能使作曲家工作与.class.php扩展为我的php类文件?

如果你想让你的代码符合PSR-4,那么你必须classname.php格式的文件名。

来自PSR-4规范:

终止类名对应于以.php结尾的文件名。文件名必须与终止类名的大小写匹配。

(http://www.php-fig.org/psr/psr-4/)

所以,如果你坚持PSR-4,那么答案是,你不能使用你的.class.php文件名。修改一下文件名,问题就解决了。

如果你出于某种原因必须保留现有的文件名,那么你需要通过编写自己的自动加载函数来解决这个问题,或者只是用传统的方式手动包含它们。(但请记住,如果这样做,您将不符合PSR-4)