Laravel 基本路由

Laravel 基本路由

路由是Laravel中的一个基本概念。路由的主要功能是将应用的所有请求路由到相应的控制器。

默认路由文件

所有Laravel路由都定义在位于 路由 目录内的路由文件中。当我们创建一个项目时,项目内会创建一个路由目录。位于 route/web.php 目录中的路由文件定义了你的Web界面的路由。web.php中定义的路由被分配到web中间件组,该组提供了会话状态和CSRF保护等功能。位于 routes/api.php 中的路由被分配给 API 中间件组,它们是无状态的。

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

默认路由文件的定义。

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

在上面的情况中,Route是定义静态方法get()的类。get()方法包含’/’和function()闭包两个参数。’/’定义了根目录,而function()定义了get()方法的功能。

在上面的路由中,url为’/’; 因此,我们在网页浏览器中输入了 localhost/laravelproject/public URL

输出:

Laravel 基本路由

如同这个方法返回 view(‘welcome’) 一样, 所以上面的输出显示了Laravel的welcome视图。

让我们看另一个例子。

现在,在这个例子中我们提供了另一个URL。

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

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

输出:

Laravel 基本路由

CSRF保护

指向在web路由文件中定义的Post、Put或Delete路由的HTML表单应包括CSRF令牌字段。如果未包括CSRF令牌字段,则请求将被拒绝。

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

路由器定义了可以响应以下http请求方法的路由:

Route::get(uri,callback);

Route::post(uri,callback);

Route::put(uri,callback);

Route::patch(uri,callback);

Route::delete(uri,callback);

Route::options(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');

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程