本篇內(nèi)容主要講解“Laravel 8.77改進(jìn)了哪些功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Laravel 8.77改進(jìn)了哪些功能”吧!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了灞橋免費(fèi)建站歡迎大家使用!
Laravel 團(tuán)隊(duì)發(fā)布了 8.77 版本 ,其中改進(jìn)了屬性轉(zhuǎn)換/訪問器,請求 date() 方法以 DateTime 實(shí)例訪問數(shù)據(jù),MAC 地址驗(yàn)證,在存儲(chǔ)磁盤上定義自定義臨時(shí) URL 的能力,以及 v8.x 中的最新更改分支。
Taylor Otwell 提供了一種定義屬性訪問器和修改器的新方法:
// 之前, 兩個(gè)方法的方式 public function setTitleAttribute($value) { $this->attributes['title'] = strtolower($value); } // 新的方式 protected function title(): Attribute { return new Attribute( set: fn ($value) => strtolower($value), ); }
這里有一個(gè)例子同時(shí)有 get 和 set 的實(shí)現(xiàn):
/** * 獲取用戶的標(biāo)題 */ protected function title(): Attribute { return new Attribute( get: fn ($value) => strtoupper($value), set: fn ($value) => strtolower($value), ); }
要了解更多信息,請查看關(guān)于此功能的 pull request 以及關(guān)于此功能的描述和討論。
@Italo 為請求實(shí)例提供了一個(gè)date()
方法,使得從請求數(shù)據(jù)獲取日期實(shí)例變得非常方便:
// 以前 if ($date = $request->input('when')) { $date = Carbon::parse($datetime); } // 之后 $date = $request->date('when');
Ben Tidy 有助于在Predi的每個(gè)連接基礎(chǔ)上使用前綴。以下是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 貢獻(xiàn)了 mac_address
驗(yàn)證規(guī)則, 用于驗(yàn)證 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 貢獻(xiàn)了為 Storage 門面定義自定義臨時(shí)URL邏輯的能力。 以下是拉取請求的幾個(gè)示例:
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 之間的差異。 以下發(fā)行說明直接來自 變更日志:
屬性轉(zhuǎn)換 / 訪問器改進(jìn) (#40022)
新增 Illuminate/View/Factory::renderUnless()
(#40077)
向 Request 實(shí)例添加日期時(shí)間解析 (#39945)
使每個(gè)連接都可以在 Predis 上使用前綴 (#40083)
添加了驗(yàn)證 MAC 地址的規(guī)則 (#40098)
添加了為存儲(chǔ)定義臨時(shí) URL 的功能 (#40100)
修復(fù) Redis 驅(qū)動(dòng)程序中通過引用 key 從緩存中刪除 values 時(shí)可能出現(xiàn)的內(nèi)存不足錯(cuò)誤 (#40039)
新增 Illuminate/Filesystem/FilesystemManager::setApplication()
(#40058)
修復(fù)在 doesntContain() 方法的參數(shù)傳遞 (739d847)
翻譯 Enum 規(guī)則消息 (#40089)
修復(fù)關(guān)于日期的驗(yàn)證 (#40088)
在 PruneCommand.php 中不允許 models 和 except 一起使用 (f62fe66)
通過 Eloquent\Query::explain 方法對 Query\Builder:explain 使用特定于數(shù)據(jù)庫解釋命令的功能 (#40075)
到此,相信大家對“Laravel 8.77改進(jìn)了哪些功能”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!