📜  Laravel基本路由

📅  最后修改于: 2021-01-05 10:32:29             🧑  作者: Mango

Laravel基本路由

路由是Laravel中的基本概念之一。路由的主要功能是将所有应用程序请求路由到适当的控制器。

默认路由文件

所有Laravel路由都在路由目录中的路由文件中定义。创建项目时,将在项目内部创建一个路由目录。 route / web.php目录包含Web界面的路由文件的定义。向web.php中的路由分配了Web中间件组,该组提供了会话状态和CSRF保护等功能。在route / api.php中定义的路由是通过API中间件组分配的,并且它们是无状态的。

我们将首先在routes / web.api文件中定义路由。可以通过在浏览器中输入定义的URL来访问路由/web.php中定义的路由。让我们通过一个例子来理解这一点。

默认路由文件的定义。

在上述情况下,Route是定义静态方法get()的类。 get()方法包含参数“ /”和函数()闭包。 '/'定义了根目录,而函数()定义了get()方法的功能。

在上述路由中,URL为“ /”;因此,我们在网络浏览器中输入了localhost / laravelproject / public URL。

输出:

由于该方法返回view('welcome') ,因此以上输出显示了Laravel的欢迎视图。

让我们来看另一个例子。

现在,我们在此示例中提供另一个URL。

在上面的示例中,定义了URL为'/ example'的路由,因此我们需要在Web浏览器中输入URL“ localhost / laravelproject / public / example”。

输出:

CSRF保护

指向Web路由文件中定义的“发布,放置或删除”路由的HTML表单应包含CSRF令牌字段。如果不包括CSRF令牌字段,则该请求将被拒绝。

@csrf ...

路由器定义了可以响应以下http谓词的路由:

路线:: get($ uri,$ callback);

路线:: post($ uri,$ callback);

路线:: put($ uri,$ callback);

路线:: patch($ uri,$ callback);

路线:: delete($ uri,$ callback);

路线::选项($ uri,$ callback);

有时,当您需要注册一个响应多个http动词的路由时,就会出现这种情况,这可以通过使用match()方法来实现。有时您想注册一个响应所有http动词的节点,因此我们使用any()方法。

Route::match(['get', 'post'], '/', function () {
//
});
Route::any('/', function () 
{
//
})

两种最常用的路由方法是:

  • Redirect()方法Redirect()方法用于从一个URL导航到另一个URL。此方法提供了一种从一个URI移到另一个URI的便捷方法。借助这种方法,您无需定义完整的路线。使用redirect()方法有两种方法:第一种方法是在get()方法中声明redirect()方法:

第二种方法是直接访问redirect()方法。

在上述情况下,两条路由都从/ hello导航到根目录,即“ /”。

  • View()方法View()方法用于返回另一个URL的视图。