laravel 5 中的负载控制器

Load controllers in laravel 5

我正在开发基于 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) 中转储数据时它正在工作,但该方法没有 return 值。例如,如果我执行 dd($item) 它会显示正确的数据,但 return $item 不起作用。 可能是什么问题?

您对更好的解决方案的建议也将受到高度赞赏:)

谢谢!

所以你应该return值:)

return \App::make(…);

顺便说一句。 \App::abort(404);可以用别名代替:abort(404);