我正在开发基于laravel 5的应用程序。我希望我的页面url是任何东西,并根据控制器管理不同的页面,这是我从cms控制面板附加的。
在我的routes.php文件中有这样的代码
Route::get('{slug}/{params?}', 'site\PagesController@getPage')->where('params', '(.*)');
我的PagesController看起来像这样
<?php namespace App\Http\Controllers\site;
use App\Http\Controllers\Controller;
use App\Pages;
class PagesController extends Controller {
public function getPage($slug, $params = null)
{
if($params)
{
// dd($params);
}
$page = PAGES::whereSlug('/'.$slug)->first();
if(count($page)) {
\App::make('App\Http\Controllers\site\\'.$page->controller)->show($page->id);
}
else {
\App::abort(404);
}
}
}
当我从被调用的控制器方法(show)转储数据时,它是工作的,但是该方法不返回值。例如,如果我执行dd( $item ),它会显示正确的数据,但返回$item不工作。有什么问题吗?
您对更好的解决方案的建议也将受到高度赞赏:)
谢谢!
发布于 2015-04-06 13:52:55
因此,您应该返回值:)
return \App::make(…);
顺便说一句。\App::abort(404);
可以替换为别名:abort(404);
https://stackoverflow.com/questions/29472619
复制相似问题