【发布时间】:2016-07-14 07:44:46
【问题描述】:
我目前正在创建一个模块化 laravel 项目,这是我的参考链接
Creating a Modular Application in Laravel
现在我想创建一个与我的应用文件夹相同目录的模块文件夹
我还创建了一个 ModuleServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ModuleServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
$modules = config('modules');
if (ENVIRONMENT != 'local') {
} else {
foreach ($modules as $key => $module) {
// Load the routes for each of the modules
if(file_exists(__DIR__ . "../../../modules/{$module}/routes.php")) {
require __DIR__ . "../../../modules/{$module}/routes.php";
} else {
echo "{$module} Module Not found"; die;
}
// Load the views
if(is_dir(__DIR__ . "../../../modules/{$module}/views")) {
$this->loadViewsFrom(__DIR__ . "../../../modules/{$module}/views", $module);
} else {
echo "{$module} Module View Not found"; die;
}
}
}
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
我将 ModulerServiceProvider 类添加到我的
配置/app.php
providers' => [
App\Providers\ModuleServiceProvider::class,
]
这是正在添加的modules/yinyang/route.php下的路由
Route::group(['prefix' => 'yinyang', 'namespace' => 'Modules\Yinyang\Controllers'], function () {
Route::get('/', 'GameController@index');
});
这里是模块/yinyang/controller/GameController.php
namespace Modules\Yinyang\Controllers;
use App\Http\Controllers;
class GameController extends Controller {
public function __construct() {
}
public function index() {
}
}
这是我尝试访问 yinyang 模块下的路由时的问题http://192.168.200.30/try/sample/public/yinyang
Class Modules\Yinyang\Controllers\GameController does not exist
任何人都对如何解决这个问题有任何意见/建议。谢谢。
【问题讨论】:
标签: php laravel laravel-5.2