다음 튜토리얼 칼럼인 Laravel에서는 Laravel 9.35 최신 버전의 변경 사항을 소개하겠습니다. 많은 분들께 도움이 되길 바랍니다!
Laravel 팀은 새롭고 흥미로운 대체 이메일 구문, Eloquent "엄격 모드" 기능 등을 갖춘 버전 9.35를 출시했습니다.
Taylor Otwell은 "이메일 가능한 콘텐츠 및 속성을 지정하는 압축 개체"를 반환하여 이메일 가능한 구문에 기여했습니다.
다음은 풀 요청 설명의 예입니다.
namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailables\Address; use Illuminate\Mail\Mailables\Attachment; use Illuminate\Mail\Mailables\Content; use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; class InvoicePaid extends Mailable { use Queueable, SerializesModels; /** * 创建一个邮件实例 * * @return void */ public function __construct() { // } /** * 获取邮件信封 * * @return \Illuminate\Mail\Mailables\Envelope */ public function envelope() { return new Envelope( subject: 'Invoice Paid', cc: [new Address('foo@example.com', 'Example Name')], tags: [], metadata: [], ); } /** * 获取邮件内容定义 * * @return \Illuminate\Mail\Mailables\Content */ public function content() { return new Content( view: 'html-view-name', text: 'text-view-name', ); } /** * 获取邮件的附件 * * @return \Illuminate\Mail\Mailables\Attachment[] */ public function attachments() { return [ Attachment::fromPath('/path/to/file'), ]; } }
build()
를 사용하여 이메일을 정의하는 전통적인 방법은 제거되지 않습니다. 위의 예에서 제가 좋아하는 점은 PHP 8의 명명된 매개변수를 사용하는 것이 훨씬 더 명확하다는 것입니다. build()
定义邮件的传统方式不会被删除。 我喜欢上面的例子是因为使用 PHP 8 的命名参数更一目了然。
Chris Morrell 和 Taylor Otwell 合作开发了 Eloquent 严格模式,该模式支持以下功能:
要在开发中使用严格模式,方法是将以下内容添加到已注册服务提供者的 boot()
方法中:
Model::shouldBeStrict();
shouldBeStrict()
方法是启用以下所有功能的快捷方式:
Model::preventLazyLoading(); Model::preventSilentlyDiscardingAttributes(); Model::preventsAccessingMissingAttributes();
Andrew Brown 提供了使用以下路由语法加载带有资源路由的废弃模型的能力:
// 所有终结点 Route::resource('users', UserController::class)->withTrashed(); // 仅`显示` Route::resource('users', UserController::class)->withTrashed(['show']);
你可以在GitHub上看到下面完整的新功能和更新列表以及[9.34.0]和9.35.0](github.com/laravel/framework/compa...) 之间的区别。以下发行说明直接来自 changelog:
Illuminate/Database/Eloquent/Model::shouldBeStrict()
和其他 (#44283)make:cast --inbound
,所以它是一个布尔选项,而不是值 (#44505)Model::without Timestamps()
boot()
메서드에 다음을 추가하세요. The shouldBeStrict() 메소드는 다음을 모두 활성화하는 지름길입니다:
Added🎜Andrew Brown은 다음 라우팅 구문을 사용하여 더 이상 사용되지 않는 모델을 리소스 경로와 함께 로드하는 기능을 제공합니다.
rrreee릴리스 노트아래에서 새로운 기능과 업데이트의 전체 목록을 볼 수 있으며 GitHub의 [9.34.0]과 9.35.0](github.com/laravel/framework/compa...) 간의 차이점도 확인할 수 있습니다. 다음 릴리스 노트는 변경 로그에서 직접 가져온 것입니다.
v9.35.0
Illuminate에 추가됨 /Database/Eloquent/Model ::shouldBeStrict()
및 기타(#44283) 🎜🎜컨트롤러 미들웨어가 컨트롤러를 구문 분석하지 않음(#44516) 🎜🎜메일로 보낼 수 있는 구문 선택(#44462) 🎜🎜🎜Fixed🎜make:cast --inbound
를 수정하여 값이 아닌 부울 옵션이 되도록 했습니다(#44505) 🎜🎜🎜수정 🎜Model::without Timestamps()
가 콜백의 반환 값을 반환하도록 합니다(#44457). 🎜🎜관련 경로에서 더 이상 사용되지 않는 모델만 로드합니다( #44478)🎜🎜shouldBlockPhpUpload 함수에 추가 PHP 확장 추가(#44512)🎜🎜특히 시끄러운 객체에 대해 cutInternals 캐스터 등록(#44514)🎜🎜get 메소드를 사용하여 애플리케이션 로케일에 액세스(#44521)🎜🎜비어 있지 않은 응답만 반환 채널에서 (09d53ee, 3944a3e) 🎜🎜올바른 채널 일치 (#44531) 🎜🎜메일 구성 요소 마이그레이션 (#44527) 🎜🎜🎜🎜원본 주소: https://laravel-news.com/laravel-9 -35-0🎜 🎜번역 주소: https://learnku.com/laravel/t/72658🎜🎜위 내용은 라라벨 9.35가 출시되었습니다! 새로운 변화는 무엇인지 알아볼까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!