个性化阅读
专注于IT技术分析

Laravel基本路由

本文概述

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

默认路由文件

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

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

默认路由文件的定义。

<?php
Route::get('/', function ()
 {    
return view ('welcome');
});

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

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

输出:

Laravel基本路由

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

让我们来看另一个例子。

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

<?php
Route::get('/example', function ()
 {    
return "Hello srcmini";
});

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

输出:

Laravel基本路由

CSRF保护

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

<form method="POST" action="/profile">
    @csrf
    ...
</form>

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

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

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

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

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

路线::删除($ uri, $回调);

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

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

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

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

  • Redirect()方法Redirect()方法用于从一个URL导航到另一个URL。此方法提供了一种从一个URI移到另一个URI的便捷方法。借助这种方法, 你无需定义完整的路线。使用redirect()方法有两种方法:第一种方法是在get()方法中声明redirect()方法:
<?php
Route::get('hello', function () {
    return redirect('/');
})

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

<?php
Route::redirect('hello', '/');

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

  • View()方法View()方法用于返回另一个URL的视图。
<?php
Route::get('/', function () {
    return view('welcome');
});
<?php
Route::view('/', 'welcome');

赞(0)
未经允许不得转载:srcmini » Laravel基本路由

评论 抢沙发

评论前必须登录!