我遇到了“找不到类”错误的问题。但最近我认识到原来的问题。我之前关于这个问题的两个问题: -
Composer Gives Error, "Class Not Found"
PHP Composer PSR-4 Autoloading And Sub-Namespaces, Class Not Found
我有兴趣使用扩展名为class.php
的类,例如parent.class.php
和child.class.php
。但是作曲家似乎没有识别这些文件,并且显示“未找到类”错误。如果我使用简单的.php扩展名(child.php
和parent.php
),问题就解决了。
我想知道是否有可能让作曲家使用我的php类文件.class.php
扩展名?
答案 0 :(得分:2)
如果您希望您的代码符合PSR-4,那么必须的文件名格式为classname.php
。
来自PSR-4规范:
终止类名对应于以.php结尾的文件名。文件名必须与终止类名称的大小写匹配。
(http://www.php-fig.org/psr/psr-4/)
因此,如果您坚持使用PSR-4,那么答案就是您无法使用.class.php
文件名。只需更改文件名即可解决问题。
如果由于某种原因你绝对必须保留现有的文件名,那么你需要通过编写自己的自动加载器功能来解决它,或者只需用旧式的方式手动包含它们。 (但请记住,如果你这样做,你将不会符合PSR-4)