laravel常用方法(Laravel7即将发布)

● Laravel Airlock● 适用于 HTTP 客户端的 Zttp,我来为大家科普一下关于laravel常用方法?以下内容希望对你有帮助!

laravel常用方法(Laravel7即将发布)

laravel常用方法

● Laravel Airlock

● 适用于 HTTP 客户端的 Zttp

● CORS 支持

● 自定义 Eloquent Cast

● 流畅的字符串操作

● Blade X

● 可定制的 Stubs

● 查询时间转换

● 多个邮件驱动程序

● 新 Artisan 命令

Laravel 7 中的改进

● 路由模型绑定改进

● 2倍更快的路由

● 数据库队列改进

● Markdown 邮件模板改进

● 以及更多的错误修复和改进。

Laravel Airlock

Laravel Airlock 是用于API身份验证的官方软件包。它提供了简单的令牌基础 API 身份验证,令牌发行,令牌能力,移动应用程序身份验证等。

HTTP客户端的Zttp

使用 Zttp,向 API 发出 HTTP 请求将是更好,更简洁的方法。

发布请求

<?php

use Illuminate\Support\Facades\Http;

$response = Http::post($url);

$response = Http::post($url, [

'site' => 'Laravel Article',

]);

获取响应

$response = Http::get($url);

$response = Http::get($url,['foo'=>'bar']);

带请求头

$response = Http::withHeaders(['foo' => 'bar'])->post($url, [

'baz' => 'qux',

]);

响应

$response['foo']

$response->body()

$response->Json()

$response->status()

$response->ok()

CORS 支持

现在 Laravel 7 开箱即用地支持 CORS (跨域资源共享)。你应该更了解每个开发者在 API 开发中都遇到过 CORS 问题。现在,Laravel 7 使用配置值自动响应 OPTION 请求。Laravel 7 开箱即用的 HandleCors 中间件可以搞定一切。

自定义 Eloquent Cast

Laravel 7 中的自定义 eloquent casting 是另一个很酷的功能。此功能将使您能够添加自定义 casts。让我们看一下 JSON Caster。

<?php

use Illuminate\Contracts\Database\Eloquent\CastsAttributes;

class Json implements CastsAttributes

{

public function get($model, $key, $value, $attributes)

{

return json_decode($value, true);

}

public function set($model, $key, $value, $attributes)

{

return json_encode($value);

}

}

现在,我们可以在模型中使用自定义的 eloquent cast 了。

<?php

namespace App;

use App\Casts\Json;

use Illuminate\Database\Eloquent\Model;

class User extends Model

{

protected $casts = [

'extra' => Json::class,

];

}

流畅的字符串操作

在 Laravel 7 中,您可以使用 Illuminate\Support\Str 类来做更多更酷的面向对象的事情。

$currentVersion = (string) Str::of(' Laravel 6.x ');

return $currentVersion->trim()

->replace('6.x', '7.x')

->slug();

// laravel-7x

Blade X

Laravel 7 Blade X 功能使您能够制作 class-less 的组件。

生成 x-component

@php($user = $user ?? Auth::user())

@php($size = $size ?? 50)

<img

class="inline-block rounded-full"

src="{{ $user->gravatarUrl($size) }}"

width="{{ $size }}"

height="{{ $size }}"

/>

Blade x 用法

<x-avatar/>

<x-avatar size="40" />

<x-avatar size="100" />

自定义 Stubs

现在,您可以使用 artisan 命令在 Laravel 7.x 中自定义 stubs。

php artisan stub:publish

查询时间转换

Laravel 7 提供了 withCasts 方法,可帮助您在运行查询时强制转换值。让我们举个例子。

$users = User::select([

'users.*',

'last_posted_at' => Post::selectRaw('MAX(created_at)')->whereColumn('user_id', 'users.id')

])

->withCasts(['last_posted_at' => 'date'])

->get();

多个邮件驱动程序

Laravel 7 将允许您使用单个应用程序设置多个邮件驱动程序。

Mail::mailer('noreply')

->to($request->user())

->send(new PostUpdated($post));

新 Artisan 命令

Laravel 7 中添加了一个新的 artisan 测试命令。新的 artisan 测试命令为您提供了精美的 UX 和有关测试的有用信息。

php artisan test

Laravel 7 中的改进

● 路由模型绑定改进

● 2倍更快的路由

● 数据库队列改进

● Markdown 邮件模板改进

● 以及更多的错误修复和改进。

路由模型绑定改进

自定义 Key

默认情况下,路由模型绑定与 id 字段一起使用。现在您可以自定义它。

Route::get('posts/{post:slug}', function (App\Post $post) {

return $post;

});

自动作用域

Laravel 7 将使用其辨别惯例使用的方法来确认程序中的关系调用,从而自动确定查询的范围以检索嵌套模型。

use App\Post;

use App\User;

Route::get('api/users/{user}/posts/{post:slug}', function (User $user, Post $post) {

return $post;

});

2倍更快的路由

使用 route:cache 时,Laravel 7 的路由匹配性能比 laravel 6 快 2倍

数据库队列改进

Laravel 7 对使用 MySQL 8 作为数据库支持队列的应用程序进行了改进。

Markdown 邮件模板改进

使用 Tailwind CSS 调色板,邮件的默认 markdown 模板外观更加新颖。可以根据需要发布和自定义模板。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页