静态控制器多路径/单个控制器

时间:2019-03-26 20:57:39

标签: laravel

我试图找到一个能解决问题的答案,但是我发现的答案并不适合我,我站点的一部分是静态的,可以按照下面的代码正常安排路由。< / p>

重复相同的路线多7页似乎太麻烦了,必须有一种更聪明的方式来完成它,我需要一些意见,也许是一个a的控制器或其他东西,但是我不太明白如何用这样的网站静态部分来做到这一点。

谢谢。

Route::get('/first/home', function()
{
    return View::make('/first.home');
});

 Route::get('/first/aboutus', function()
{
    return View::make('/first.aboutus');
});
Route::get('/first/contact', function()
{
    return View::make('/first.contact');
});

1 个答案:

答案 0 :(得分:2)

我觉得您来自WP,或者我错了。无论如何,Laravel都有差异。投放静态网页方面的优势。

现在,在您澄清之后,建议您按以下方式对路线进行分组:

Route::group(['prefix' => 'first'], function () {
    Route::get('(.*)', 'HomeController@getPageByName');
});

HomeController中,您可以编写以下函数:

function getPageByName(Request $request) 
{
    $pageName = $request->path();
    //since your url does not begin with the page but with 'first',
    //best is to turn this into an array.
    $parsedPath = explode("/",$pageName)
    $data = 'any data you want to pass';
    if(View::exists($pageName[1] ){
       return view($pageName[1] , compact($data));
    } else {
        abort(404)
    }
}

如果想要第一页,基本上,您的网址应如下所示:

http://example.com/first/home

现在Laravel将寻找views/home.blade

让我知道这是否对您的问题有所帮助。