作曲家使用什么规则来自动加载自定义类?

时间:2016-09-16 16:12:30

标签: model-view-controller composer-php autoload classname

我一直在学习使用作曲家。我第一次将代码移到了生产服务器上。其他第一次用户遇到的许多问题,即自动加载,都发生了。就我而言,事实证明文件名是罪魁祸首。撰写预期的某些文件名以遵循类名。

我注意到那些抽象类。其他类是具有类名为ClassName的复合名称的类。然而令我困惑的是,在某些情况下,事情在没有改变任何事情的情况下有效,而在其他情况下,作曲家强迫我改变文件名。

具体来说,我使用自己的MVC,基类Controller必须与models文件夹中的其他人一起更改。

我已完成$loader = require "vendor/autoload.php";

`$loader->add("", ["my folders"])`

到目前为止我测试的所有内容现在似乎都没问题。但是我担心以后会出现问题,因为我无法预测网站上的用户可能做的所有事情。任何人都需要帮助。感谢。

1 个答案:

答案 0 :(得分:1)

基本上您需要遵循PSR-4标准,这意味着仅编辑composer.json。您无需添加$loader->add("", ["my folders"])

<强> composer.json

"autoload": {
    "*": "/dirs"
}

但最好是具体,比如:

"autoload": {
    "App\": "app"
}

(就像“命名空间”:“要在”中找到目录。)

然后在App\Controller\PageController文件中包含app/Controller/PageController.php类。

您也可以找到类似的问题=&gt;答案herehere