Laravel 8.77发布,这些功能被改进了!
发布时间 - 2022-01-20 00:00:00 点击率:次下面由laravel教程栏目给大家介绍《laravel 8.77发布,这些功能被
改进了》,希望对大家有所帮助!
Laravel 团队发布了 8.77 版本 ,其中改进了属性转换/访问器,请求 date() 方法以 DateTime 实例访问数据,MAC 地址验证,在存储磁盘上定义自定义临时 URL 的能力,以及 v8.x 中的最新更改分支。【推荐:《laravel视频教程》】
属性转换/访问器改进
Taylor Otwell 提供了一种定义属性访问器和修改器的新方法:
// 之前, 两个方法的方式
public function setTitleAttribute($value)
{
$this->attributes['title'] = strtolower($value);
}
// 新的方式
protected function title(): Attribute
{
return new Attribute(
set: fn ($value) => strtolower($value),
);
}这里有一个例子同时有 get 和 set 的实现:
/**
* 获取用户的标题
*/
protected function title(): Attribute
{
return new Attribute(
get: fn ($value) => strtoupper($value),
set: fn ($value) => strtolower($value),
);
}要了解更多信息,请查看关于此功能的 pull request 以及关于此功能的描述和讨论。
已将日期时间解析添加到请求实例
@Italo 为请求实例提供了一个date()方法,使得从请求数据获取日期实例变得非常方便:
// 以前
if ($date = $request->input('when')) {
$date = Carbon::parse($datetime);
}
// 之后
$date = $request->date('when');每个连接的前缀
Ben Tidy 有助于在Predi的每个连接基础上使用前缀。以下是Redis配置的pull请求的示例:
'redis' => [
'client' => env('REDIS_CLIENT', 'predis'),
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
'prefix' => env('REDIS_PREFIX', 'prefix:'),
],
'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
'prefix' => env('REDIS_PREFIX', 'prefix2:'),
],
],MAC 地址验证规则
Bilal Al-Massry 贡献了 mac_address 验证规则, 用于验证 MAC 地址:
$trans = $this->getIlluminateArrayTranslator(); $v = new Validator($trans, ['mac' => 'foo'], ['mac' => 'mac_address']); $this->assertFalse($v->passes()); $trans = $this->getIlluminateArrayTranslator(); $v = new Validator($trans, ['mac' => '01-23-45-67-89-ab'], ['mac' => 'mac_address']); $this->assertTrue($v->passes()); $trans = $this->getIlluminateArrayTranslator(); $v = new Validator($trans, ['mac' => '01-23-45-67-89-AB'], ['mac' => 'mac_address']); $this->assertTrue($v->passes());
定义存储的临时 URL 方法
Ash Allen 贡献了为 Storage 门面定义自定义临时URL逻辑的能力。 以下是拉取请求的几个示例:
Storage::disk('local')
->buildTemporaryUrlUsing(function ($path, $expiration, $options) {
return 'using local';
});
// $url is: 'using local'
$url = Storage::temporaryUrl('file.jpg', now()->addMinutes(5));发行说明
您可以在 github 上看到以下新功能和更新的完整列表以及 8.76.0 and 8.77.0 之间的差异。 以下发行说明直接来自 变更日志:
v8.77.0
新增
- 属性转换 / 访问器改进 (#40022)
- 新增
Illuminate/View/Factory::renderUnless()(#40077) - 向 Request 实例添加日期时间解析 (#39945)
- 使每个连接都可以在 Predis 上使用前缀 (#40083)
- 添加了验证 MAC 地址的规则 (#40098)
- 添加了为存储定义临时 URL 的功能 (#40100)
已修复
- 修复 Redis 驱动程序中通过引用 key 从缓存中删除 values 时可能出现的内存不足错误 (#40039)
- 新增
Illuminate/Filesystem/FilesystemManager::setApplication()(#40058) - 修复在 doesntContain() 方法的参数传递 (739d847)
- 翻译 Enum 规则消息 (#40089)
- 修复关于日期的验证 (#40088)
- 在 PruneCommand.php 中不允许 models 和 except 一起使用 (f62fe66)
已更改
- 通过 Eloquent\Query::explain 方法对 Query\Builder:explain 使用特定于数据库解释命令的功能 (#40075)
原文地址:https://laravel-news.com/laravel-8-77-0
译文地址:https://learnku.com/laravel/t/64602
# laravel
# 自定义
# 几个
# 基础上
# 您可以
# 改进了
# 给大家
# 更多信息
# 要了
# 已将
# 可能出现
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
如何在宝塔面板创建新站点?
如何在IIS管理器中快速创建并配置网站?
清除minerd进程的简单方法
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
Android 常见的图片加载框架详细介绍
Laravel怎么连接多个数据库_Laravel多数据库连接配置
如何在自有机房高效搭建专业网站?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
网站制作免费,什么网站能看正片电影?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
iOS验证手机号的正则表达式
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
开心动漫网站制作软件下载,十分开心动画为何停播?
教你用AI润色文章,让你的文字表达更专业
javascript中的try catch异常捕获机制用法分析
高防服务器租用指南:配置选择与快速部署攻略
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
如何选择可靠的免备案建站服务器?
linux top下的 minerd 木马清除方法
如何快速查询网址的建站时间与历史轨迹?
如何在新浪SAE免费搭建个人博客?
Firefox Developer Edition开发者版本入口
浅谈redis在项目中的应用
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
EditPlus中的正则表达式实战(5)
微信小程序 配置文件详细介绍
零服务器AI建站解决方案:快速部署与云端平台低成本实践
JavaScript数据类型有哪些_如何准确判断一个变量的类型
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
如何在阿里云完成域名注册与建站?
jQuery 常见小例汇总
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
如何在Ubuntu系统下快速搭建WordPress个人网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Laravel如何配置Horizon来管理队列?(安装和使用)
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
java中使用zxing批量生成二维码立牌
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Python制作简易注册登录系统
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
python中快速进行多个字符替换的方法小结
如何在阿里云高效完成企业建站全流程?

