我正在开发基于laravel 5的应用程序。我希望我的页面url是任何东西,并根据控制器管理不同的页面,我从cms控制面板附加控制器
在我的routes.php文件中,我有这样的代码
Route::get('{slug}/{params?}', 'sitePagesController@getPage')->where('params', '(.*)');
我的PagesController看起来像这个
<?php namespace AppHttpControllerssite;
use AppHttpControllersController;
use AppPages;
class PagesController extends Controller {
public function getPage($slug, $params = null)
{
if($params)
{
// dd($params);
}
$page = PAGES::whereSlug('/'.$slug)->first();
if(count($page)) {
App::make('AppHttpControllerssite\'.$page->controller)->show($page->id);
}
else {
App::abort(404);
}
}
}
当我从被调用的控制器方法(show)转储数据时,它就工作了,但该方法不返回值。例如,如果我执行dd($item),它会显示正确的数据,但返回$item不起作用。问题出在哪里?
您对更好的解决方案的建议也将不胜感激:)
谢谢!
所以您应该返回值:)
return App::make(…);
Btw。App::abort(404);
可以替换为别名:abort(404);