如何使作曲家(PSR-4)使用“.class.php”扩展?

时间:2015-10-23 08:40:46

标签: php composer-php

我遇到了“找不到类”错误的问题。但最近我认识到原来的问题。我之前关于这个问题的两个问题: -

Composer Gives Error, "Class Not Found"

PHP Composer PSR-4 Autoloading And Sub-Namespaces, Class Not Found

我有兴趣使用扩展名为class.php的类,例如parent.class.phpchild.class.php。但是作曲家似乎没有识别这些文件,并且显示“未找到类”错误。如果我使用简单的.php扩展名(child.phpparent.php),问题就解决了。

我想知道是否有可能让作曲家使用我的php类文件.class.php扩展名?

1 个答案:

答案 0 :(得分:2)

如果您希望您的代码符合PSR-4,那么必须的文件名格式为classname.php

来自PSR-4规范:

  

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

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

因此,如果您坚持使用PSR-4,那么答案就是您无法使用.class.php文件名。只需更改文件名即可解决问题。

如果由于某种原因你绝对必须保留现有的文件名,那么你需要通过编写自己的自动加载器功能来解决它​​,或者只需用旧式的方式手动包含它们。 (但请记住,如果你这样做,你将不会符合PSR-4)