【问题标题】:Load controllers in laravel 5laravel 5 中的负载控制器
【发布时间】:2015-04-06 13:50:51
【问题描述】:

我正在开发基于 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) 它会显示正确的数据,但 return $item 不起作用。 可能是什么问题?

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

谢谢!

【问题讨论】:

  • 如果您对我的回答感到满意,您可以接受 :)

标签: php laravel routes


【解决方案1】:

所以你应该返回值:)

return \App::make(…);

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

【讨论】:

  • 对于\App::make('...')app('...') ;)
猜你喜欢
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多