【发布时间】:2014-08-21 04:05:42
【问题描述】:
我创建了一个app/modules 目录并使用 PSR-4 自动加载它,如下所示:
"psr-4": {
"Modules\\": "app/modules"
}
我也做了composer dumpautoload。我有以下目录结构:
app
- ...
- modules
-- ModuleName
--- controllers
---- BackendController.php
...
文件BackendController.php 具有命名空间Modules\ModuleName\Controllers。
在routes.php 中,我有以下内容:
Route::resource('backend/modules/module-name', 'Modules\ModuleName\Controllers\BackendController');
但每当我尝试访问“后端/模块/模块名称”时,我都会收到带有以下消息的 ReflectionException:
Class Modules\ModuleName\Controllers\BackendController does not exist
可能导致问题的原因是什么?当我在本地机器上运行它时,它似乎可以工作,但我无法让它在网络服务器上工作。是否有任何可能导致此问题的服务器配置方案?
由于我没有对该网络服务器的 shell 访问权限,因此我没有在网络服务器上安装 composer,但它已安装在我的本地计算机上。我已将包括vendor 目录在内的所有文件上传到服务器。
【问题讨论】:
-
尝试将
controllers文件夹大写为Controllers。
标签: php laravel laravel-4 autoload psr-4