다음 튜토리얼 칼럼인 Laravel에서는 "Laravel 8.77이 출시되고 이러한 기능이 개선되었습니다"를 소개할 예정인데, 많은 분들께 도움이 되었으면 좋겠습니다!
Laravel 팀은 속성 변환/접근자, DateTime 인스턴스로 데이터에 액세스하기 위한 date() 메서드 요청, MAC 주소 검증, 스토리지 디스크에 사용자 정의 임시 URL을 정의하는 기능 및 v8을 개선하여 버전 8.77을 출시했습니다. 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), ); }
자세히 알아보려면 이 기능에 대한 풀 요청과 이 기능에 대한 설명 및 토론을 확인하세요.
@Italo는 요청 인스턴스에 대한 date()
메서드를 제공하여 요청 데이터에서 날짜 인스턴스를 얻는 것이 매우 편리해졌습니다.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:'), ], ],
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());
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 之间的差异。 以下发行说明直接来自 变更日志:
Illuminate/View/Factory::renderUnless()
(#40077)Illuminate/Filesystem/FilesystemManager::setApplication()
rrreeemac_address
유효성 검사 규칙을 제공했습니다. 🎜Added
속성 변환/접속자 개선(#40022)
Illuminate/View/Factory::renderUnless()
추가 > (#40077)🎜🎜요청 인스턴스에 날짜/시간 구문 분석을 추가했습니다. (#39945)🎜🎜Predis에서 접두사를 사용하도록 각 연결을 활성화했습니다. (#40083)🎜🎜MAC 주소를 확인하는 규칙을 추가했습니다. (#40098)🎜🎜 정의하는 기능을 추가했습니다. 저장용 임시 URL(#40100)🎜🎜🎜Fixed🎜🎜🎜키를 참조하여 캐시에서 값을 삭제할 때 Redis 드라이버에서 발생할 수 있는 메모리 부족 오류를 수정했습니다(#40039)🎜🎜New Illuminate /Filesystem/FilesystemManager::setApplication() (#40058)🎜🎜dontContain() 메소드에 전달되는 매개변수 수정 (739d847)🎜🎜Enum 규칙 메시지 번역 (#40089)🎜🎜날짜 유효성 검사 관련 수정 (#40088) 🎜🎜pruneCommand.php에서는 제외가 포함된 모델을 사용할 수 없습니다(f62fe66)🎜🎜🎜Changed🎜🎜🎜QueryBuilder에 대한 데이터베이스 explain 명령별 기능을 사용하세요: EloquentQuery::explain 메서드를 통해 설명하세요(# 40075)🎜🎜🎜🎜🎜 원본 주소: https://laravel-news.com/laravel-8-77-0🎜🎜번역 주소: https://learnku.com/laravel/t/64602🎜🎜위 내용은 Laravel 8.77이 출시되었습니다. 이러한 기능이 개선되었습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!