【发布时间】:2013-09-22 20:35:55
【问题描述】:
大家好,我是 laravel 的新手,我想问一个问题。 这是我的本地网址
/laravel-master/public/
我做了一些路由。
Route::resource('news', 'NewsController');
Route::resource('events', 'EventsController');
Route::resource('products', 'ProductsController');
这是 3 条路线正常工作。但是我不想用很多菜单重复我自己,所以我对代码进行了更改:
Route::get('{class}', function($class){
Route::controller($class,ucfirst($class).'Controller@index');
})->where('class',
'news|events|products|anotherclass');
我遇到了这样的错误
ReflectionException 类 NewsController@index 不存在
其实NewsController确实存在,Index方法也确实存在:
class NewsController extends BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
return View::make('page.news-event');
}
}
我想用控制器页面处理 url {pagename}-page 并获取 pagename 参数
Route::get('{pagename}-page', function($pagename){
Route::controller($pagename.'-page','PagesController@index');// where i can put the parameter page name?
});
class PagesController extends BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index($pagename='')
{
if($pagename=='about'){
// do something
}else if($pagename=='contact'){
// do something
}
return View::make('page.about');
}
}
php工匠路线:
| | GET /{class} | | Closure | | |
| | GET /{pagename}-page | | Closure | | |
| | GET / | | HomeController@index | | |
请帮忙。对不起我的英语不好。
【问题讨论】: