User-Profile-Image
hankin
  • 5
  • 首页
  • 仓库
  • 留言
  • 免费下载v1.3.5
  • 分类
    • Yii2
    • wordpress
    • typeecho
    • server
    • qrcode
    • postgresql
    • php
    • jquery
    • javascript
    • html5
    • go
    • css3
    • coding
  • 页面
    • icon图标
    • 专题
    • 建站维护
    • 留言
    • 站点地图
  • 友链
    • 老赵茶馆
    • 淮城一只猫
    • 雨林寒舍
    • 饼子的博客
    • 轩枫阁
    • 广告联盟大事记
    • 主题笔记
    • 八方博客
    • 张维龙的个人博客
    • 瑞课学院
    • BBJ不败君
    • 悠悠吧
    • Heanny Blog
    • 资源谷
    • Yolen
Help?

Please contact us on our email for need any support

Support
    首页   ›   正文
php

Laravel 7 即将发布,一起看看有哪些新特性和功能!

2020-04-17 10:16:45
555  0 2

Laravel 7 的正式发布日期为 2020年3月3日。根据 Laravel Framework 每6个月的主要 laravel 版本发布策略(2月和 8月),它是另一个主要版本。它不是 LTS 版本,因此根据 Laravel 版本支持政策,他们提供 2020年9月3日之前的 6个月错误修复,以及直到 2021年3月3日之前的 1年安全问题修复支持。让我们看一下 Laravel 7 的新功能和改进。(laravel技术文章)
Laravel 7的新功能
● 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 IlluminateSupportFacadesHttp;
$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 IlluminateContractsDatabaseEloquentCastsAttributes;
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 AppCastsJson;
use IlluminateDatabaseEloquentModel;
class User extends Model
{
protected $casts = [
‘extra’ => Json::class,
];
}
流畅的字符串操作
在 Laravel 7 中,您可以使用 IlluminateSupportStr 类来做更多更酷的面向对象的事情。
$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 (AppPost $post) {
return $post;
});
自动作用域
Laravel 7 将使用其辨别惯例使用的方法来确认程序中的关系调用,从而自动确定查询的范围以检索嵌套模型。
use AppPost;
use AppUser;
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 模板外观更加新颖。可以根据需要发布和自定义模板。
更多编程相关内容,请关注php中文网编程入门栏目!

微信
分享

相关标签:Laravel 7

本文转载于:NiZerin,如有侵犯,请联系a@php.cn删除

上一篇:微盟运维删库跑路事件,程序员圈内怎么看?

下一篇:PHP框架CodeIgniter 4.0正式版发布了!

如本文“对您有用”,欢迎随意打赏作者,让我们坚持创作!

2 打赏
hankin
smarty_hankin主题 持续为开发者免费开源!
143文章 278评论 670点赞 164459浏览

关注公众号 回复【下载主题】
加QQ群1018841266
最新评论
+195
随机文章
同一域名返回PC端和手机端界面
2年前
php调用python失败怎么办
9个月前
PHP框架CodeIgniter 4.0正式版发布了!
9个月前
PHP即将引入Union Types,投票已通过!
9个月前
国内数据库排行榜(2020年4月)
9个月前
我的作品




tags
css3 html5 javascript php postgresql qrcode typeecho wordpress wordpress主题 Yii2
Copyright © 2021 网站备案号: 浙ICP备20002401号
smarty_hankin 主题. Designed by hankin
主页
页面
  • icon图标
  • 专题
  • 建站维护
  • 留言
  • 站点地图
博主
hankin
hankin 管理员
博客模板_网站模板_HTML模板_博客模板网站免费下载
143 文章 278 评论 164459 浏览
测试
测试
赞赏作者

请通过微信、支付宝 APP 扫一扫

感谢您对作者的支持!

 支付宝 微信支付