如何在 Laravel 中设置默认控制器?

问题描述 投票:0回答:3

我正在使用 Laravel PHP 框架,并且想知道一些事情。默认

application/routes.php
文件包含以下内容:

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

这只是输出视图,但我如何从那里调用控制器?

我可以删除上面的整个路线,并将其替换为

Route::controller('home')
,它似乎使用默认 URL 上的家庭控制器(即
example.com/
)。但像
Route::controller('article')
这样的任何其他控制器都不起作用,只能在
example.com/article
上工作。如何将文章控制器设置为默认值?

php laravel laravel-routing
3个回答
19
投票

只需将控制器作为字符串传递,在类名和方法名之间使用

@

Route::get('/', 'article@index');

阅读文档(按标题滚动到示例注册指向控制器操作的路由)。


2
投票

/
”是特殊位置,您可以通过
Route::get('/','home@index')
进行设置。

对于家庭控制器上的所有其他操作,您将拥有 urls,例如“

/home/action1
”或“
/home/action2
”。

我只是想让你明白,将任何控制器分配给“

/
”没有任何好处,也没有必要。

我希望我的回答是清楚的。同样,这并不是对您的问题的尝试回答,而是在您遇到路线处理困难时为您提供的建议。我和你几天前处于同一阶段:)


0
投票

Route::get('/', [LandingPage::class, 'index']);

这对我有用 另外不要忘记添加 => use App\Http\Controllers\LandingPage;在路线/web.php

© www.soinside.com 2019 - 2024. All rights reserved.