Laravel 7.6 發佈

来源:https://www.cnblogs.com/a609251438/archive/2020/04/21/12747942.html
-Advertisement-
Play Games

Laravel 團隊昨天發佈了 v7.6.0,其中包含 13 個新功能以及 7.x 分支的最新修複和更改: 集合新增 “until” 方法 Jason McCreary 貢獻了 Collection::until() 方法, 該方法可以迴圈遍歷集合直到元素滿足條件再將該元素返回: // Before ...


Laravel 團隊昨天發佈了 v7.6.0,其中包含 13 個新功能以及 7.x 分支的最新修複和更改:

集合新增 “until” 方法

Jason McCreary 貢獻了 Collection::until() 方法, 該方法可以迴圈遍歷集合直到元素滿足條件再將該元素返回:

// Before

[$before, $after] = $primes->partition(function ($item) {

    return $item < 11;

});

$before->dump();

// Using until

$passed = $primes->until(11)->dump();

  

此方法採用閉包或值與集合進行對比。

String Empty Methods

Mark van den Broek 為 Stringable 和 HtmlString 提供了一些便利方法。第一個,HtmlString::isEmpty() 方法讓我們檢測空實例更加方便:

$string = new \Illuminate\Support\HtmlString(''); 
// Previously
if (empty($string->toHtml()))
// Using isEmpty
if ($string->isEmpty()) 

  

其次,Mark 也貢獻了 isNotEmpty() 方法

use Illuminate\Support\Stringable;
(new Stringable())->isNotEmpty(); // false
(new Stringable('Hello World'))->isNotEmpty(); // true 

  

Stringable 類的 Trim 方法

Ryan Chandler 為 Stringable 類貢獻了 ltrim 和 rtrim 方法,可以修剪字元串開頭和結尾的字元:

use Illuminate\Support\Stringable;

echo (new Stringable(' Hello World'))->ltrim(); // 'Hello World'

echo (new Stringable('Hello World '))->rtrim(); // 'Hello World'

echo (new Stringable('/example/'))->rtrim('/'); // '/example'

  

特定路由忽略中間件

@dsazup 提供了在定義路由時跳過中間件的功能:

Route::get('/something')

    ->skipMiddleware(VerifyCsrfToken::class)

Route::get('/teams/create')

    ->skipMiddleware(VerifyUserHasTeam::class)

  

Http 客戶端:獲取 JSON 響應作為對象

Adrian Nürnberger 貢獻了 object() 方法,可以返回對象形式的 JSON 響應體而不是一個關聯數組:

// Array access

Http::get('some-api.wip')['result'];

// Using json()

$response = Http::get('some-api.wip')->json();

$response['result']

// New option

$response = Http::get('some-api.wip')->object();

$response->result;

  

組件別名

Dries Vints 貢獻了 為組件設置別名:

我遇到一個場景,其中我需要根據組件的別名有條件地呈現組件的內容。 例如,當您有一個 Svg 組件並使用 <x:heroicon-o-bell /> 作為該組件的別名時,如下所示:

Blade::component(Svg::class, 'heroicon-o-bell'); 

這比 <x:svg name="heroicon-o-bell"/> 這種方式更加簡潔。 將別名添加到 Component 類將為 Blade 組件增加許多新的用法和可能性...

Append Attributes Across an Eloquent Collection

Niels Faurskov 貢獻了一個 eloquent 集合方法 append() ,他可以向集合中附加特定屬性:

// Before Laravel 7.6
$collection->each(function($model) {
 $model->append($attribute)
});
// Append method
$collection->append($attribute); 

  

支持 Retry-After 方法

@RyanDaDeng 貢獻了個方法級的支持,他可以對隊列監聽器的 retryAfter 進行補充,以適用更高級的用例:

// listener implementation
public function retryAfter()
{
 // 自定義 retryAfter 邏輯
} 

  

支持 Composer 新版 installed.json 格式

Jakub Arbet 支持 Composer 2 新版本的快照功能 (尚未穩定), 但仍與舊版本的 composer 向後相容:

在 composer 的最新快照版本中更改了 vendor/composer/installed.json 的格式,從而破壞了自動發現軟體包的功能。 此 PR 通過較早版本的 composer 向後相容來解決此問題。

UUID 支持更改

Mathieu Tudisco 支持在 uuid 列使用 change() 方法,在此之前會導致以下錯誤:

Unknown column type “uuid” requested. 

發行說明

您可以在下麵查看 GitHub 上的新功能和更新的完整列表以及 7.5.0 and 7.6.0]() 之間的區別。 Laravel 7.x 的完整發行說明可在最新的 v7 changelog 中找到:

v7.6.0

新增

● 新增 Collection::until() 方法 (#32262)

● 新增 HtmlString::isEmpty() 方法 (#32289#32300)

● 新增 Illuminate\Support\Stringable::isNotEmpty() 方法 (#32293)

● Illuminate\Support\Stringable 類新增 ltrim() 和 rtrim() 方法 (#32288)

● 新增忽略中間件的功能 (#32347412261c)

● 新增 Illuminate\Http\Client\Response::object() 方法 (#32341)

● 支持設置組件別名 (#32346)

● 新增 Illuminate\Database\Eloquent\Collection::append() 方法 (#32324)

● BelongsToMany 的 pivot 列新增 “between” 語句 (#32364)

● 隊列監聽支持 retryAfter() 方法 (#32370)

● 新增對 composer 新版 installed.json 的格式支持 (#32310)

● 資料庫遷移文件新增 uuid 更改支持 (#32316)

● 允許保存資源到 postgresql bytea (#32319)

修複

● 修複 phpredis 的 *scan 方法 (#32336)

● 修複 Illuminate\Auth\Notifications\ResetPassword::toMail() (#32345)

● 在 Illuminate\Translation\Translator::__construct() 調用 setLocale (1c6a504)

● 使用映射來防止不必要的數組訪問 in Illuminate\Http\Resources\Json\PaginatedResourceResponse::toResponse() (#32296)

● 當 pivot 未被修改的時候阻止時間戳更新 (#32311)

● 修複 CURRENT_TIMESTAMP 在 Illuminate\Database\Schema\Grammars\MySqlGrammar 中的精度 bug (#32298)

修改

● HtmlString 的構造函數增加預設值 (#32290)

● 使用 BindingResolutionException 標示容器解析問題 (#32349)

● Illuminate\Validation\Concerns\ValidatesAttributes.php ::validateUrl() 使用 Symfony/Validator 5.0.7 匹配 (#32315)

棄用

● 棄用 elixir 函數 (#32366)

 


原文地址:

更多學習內容請訪問:

騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • C++ 函數重載 什麼是函數重載: 可以有多個同名的函數。 可以通過函數重載來設計一系列函數——他們完成相同的工作,但使用不同的參數列表。 函數特征標: 函數重載的關鍵是函數的參數列表——也稱為函數特征標。 如果兩個函數的參數數目和類型相同,同時參數的排列順序也相同,則它們的特征標相同,反之不同。 ...
  • 現在的智能手機解析度都很高,拍的高清照片動輒5M甚至7M。 上傳到系統的圖片太大了,導致頁面載入緩慢。 為此,讓組裡一小伙做一個壓縮工具。發版後,發現圖片雖然是壓縮了,不過有個別圖片嚴重失真。 然後,在網上查資料,發現有人分享google提供的開源工具Thumbnailator。 maven dep ...
  • 版權聲明:本文為CSDN博主「iswitched」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。原文鏈接:https://blog.csdn.net/weixin_44873106/article/details/89787021 1 環境變數配置 JAVA_ ...
  • 起步 Python3 起,str 就採用了 Unicode 編碼(註意這裡並不是 utf8 編碼,儘管 .py 文件預設編碼是 utf8 )。 每個標準 Unicode 字元占用 4 個位元組。這對於記憶體來說,無疑是一種浪費。 Unicode 是表示了一種字元集,而為了傳輸方便,衍生出里如 utf8  ...
  • 有很多朋友問我學習了Python後,有沒有什麼好的項目可以練手。 其實,做項目主要還是根據需求來的。但是對於一個初學者來說,很多複雜的項目沒辦法獨立完成,因此博主挑選了一個非常適合初學者的項目,內容不是很複雜,但是非常有趣,我相信對於初學者小白來說是再好不過的項目了。 這個項目中,我們將要建立一個比 ...
  • 1 #include <iostream> 2 #include <cstring> 3 4 using namespace std; 5 6 class Person 7 { 8 private: 9 char Name[10]; 10 char Sex; 11 int Age; 12 publi ...
  • 在使用 SpringMVC 框架的過程中,如果前臺有包含中文的請求,或者後臺有包含中文的響應,有可能會出現亂碼的情況。在以前的 Servlet 中,我們使用 和 來設置請求和響應的編碼。在 SpringMVC 中,框架直接給我們提供了一個用來解決請求和響應的亂碼問題的過濾器 。 註意:請將 Char ...
  • C++ 預設參數 預設參數是指當函數調用中省略了實參時自動使用的一個值。 對於帶參數列表的函數,必須從右向左添加預設值。 實參按從左到右的順序一次被賦給相應的形參,而不能跳過任何參數。 註意:只有原型指定了預設值,函數定義與沒有預設參數時完全相同。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...