我有一个关于重构遗留 PHP 应用程序以兼容 PHP 的 PSR-4 标准的问题。我有一些位于 app/classes/ 文件夹中的类尚未正确命名空间,我希望在调用 composer 的 vendor/autoload.php 时直接自动加载它们。我根据添加了一个命名空间,\<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>
并尝试vendor/myapp/classes/src/
在composer的供应商文件夹下创建一个目录,并执行了dump-autoload命令但无济于事。该类没有加载,作曲家无法弄清楚在哪里可以找到它。有关如何执行此操作的任何指示?
谢谢,
简
注意事项:-> 我不想将源代码上传到任何可以公开搜索的存储库,例如 Packagist,因为代码仅供内部使用。
编辑:这是我的composer.json:
...
"autoload":{
"psr-4": {
"Myapp\\" : "Myapp"
}
},
...
但现在结构看起来像:
->Myapp
-->Classes
--->Module1
---->submodule.php
--->Module2
---->submodule2.php
--->Module3
---->submodule3.php
--->Config
---->config.db.php
->vendor
-->autoload.php
这是我的问题/问题:
- 当我尝试加载 submodule.php 时,它又会加载 submodule2.php 和 submodule3.php,它会告诉我找不到 submodule3.php。submodule3.php 的命名空间是 Myapp\Classes\Module3 但它说它没有找到。
- 我想在每次调用 autoload.php 时强制包含 config.db.php