laravel被说成2013最流行框架,还有用过。打算用laravel作一个小项目,按照以前的习惯,习惯把controller按照功能划分多个目录 php
好比: laravel
controllers:
admin:
DashboardController.php
web:
HomeController.php web
laravel的route有各类规则,group应用同一组路由,配置以下 shell
Route::group(array('prefix' => 'admin', 'namespace' => 'App\Controllers\Admin'), function() { Route::get('/home', 'HomeController@index'); })admin下的DashboardController.php
<?php namespace App\Controllers\Admin; class DashboardController extends \BaseController{ public function index(){ echo "test"; exit; } }
运行,报错 Class 'App\Controllers\Admin\DashboardController' not found json
路径和命名都没问题,只有看手册、google、stackoverflow找问题,老半天没结果,网上怎么说的都有;简单看下Router.php代码,也没发现问题。 app
后来看了http://stackoverflow.com/questions/18132220/laravel-4-package-or-modules,须要dump-autoload,试了下,果真能够。 composer
再回头看下laravel代码,会先加载autoload_classmap.php文件,而后按照该文件找类。如今记录下完整的过程 框架
编辑composer.json文件,添加 curl
"autoload": { "classmap": [ "app/commands", "app/controllers", "app/controllers/admin",而后运行:
composer dump-autoload若是composer没有安装,参考https://getcomposer.org/doc/01-basic-usage.md,安装下
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/bin/composer
就能够了 google