我有一个简单的 PHP 网络应用程序,其结构如下:
/ (composer.json .htaccess ...)
/Core/ (Router.php, Controller.php ...)
/App/ (/Controllers, /Models, /Views ...)
/Public/ (index.php ...)
/Vendor/ (autoload.php /composer ...)
代码在我的本地服务器上运行没有问题。
当我将它复制到实时服务器并对路由中的 .htaccess 进行必要的更改时,我收到以下错误: fatal error :在...中找不到类“Core\Router”。我尝试了 3 个不同的主机,但是没有运气。
问题似乎与 composer autoload 函数没有使用 psr-4 加载到命名空间和类中有关。我在我的 composer.json 文件中设置了这个:
{
"autoload": {
"psr-4": {
"Core\\": "Core/",
"App\\": "App/"
}
}
我项目的代码在 GitHub 上
https://github.com/imoprojects/upbook
我是 MVC 结构编程的新手,也是以这种方式使用 composer 的新手。
如果有人可以协助解决可能发生的事情,我将不胜感激。
干杯, 伊恩
最佳答案
你配置这个:
"Core\\": "Core/",
...但是您的类(class)位于:
core
这仅适用于不区分大小写的文件系统。
关于php - Composer Autoload.php 未在实时托管的命名空间和类中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42073460/