Laravel 6.11 是 Laravel 6.x 系列的一個小版本更新,雖然它沒有引入重大的新功能,但仍然帶來了一些有用的改進和修復。本文將詳細介紹 Laravel 6.11 中新增的功能和改進。
Arr::wrap
方法支持對象在 Laravel 6.11 中,Arr::wrap
方法現在支持將對象轉換為數組。這個改進使得在處理對象時更加靈活。
use Illuminate\Support\Arr;
$object = new stdClass;
$object->name = 'Laravel';
$array = Arr::wrap($object);
// 輸出: ['name' => 'Laravel']
print_r($array);
Str::beforeLast
和 Str::afterLast
方法Laravel 6.11 引入了兩個新的字符串處理方法:Str::beforeLast
和 Str::afterLast
。這兩個方法分別用于獲取字符串中最后一次出現某個子字符串之前和之后的部分。
use Illuminate\Support\Str;
$string = 'Laravel is a PHP framework';
$beforeLast = Str::beforeLast($string, ' ');
$afterLast = Str::afterLast($string, ' ');
// 輸出: 'Laravel is a PHP'
echo $beforeLast;
// 輸出: 'framework'
echo $afterLast;
Collection::mapInto
方法Collection::mapInto
方法允許你將集合中的每個元素映射到一個新的類實例中。這在處理集合時非常有用,特別是當你需要將集合中的每個元素轉換為特定類型的對象時。
use Illuminate\Support\Collection;
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
$collection = collect(['John', 'Jane', 'Doe']);
$users = $collection->mapInto(User::class);
// 輸出: [User { name: 'John' }, User { name: 'Jane' }, User { name: 'Doe' }]
print_r($users->all());
Collection::pipeInto
方法Collection::pipeInto
方法允許你將集合傳遞給一個類的構造函數,并返回該類的一個實例。這在需要將集合傳遞給某個類的構造函數時非常有用。
use Illuminate\Support\Collection;
class UserCollection
{
public $users;
public function __construct($users)
{
$this->users = $users;
}
}
$collection = collect(['John', 'Jane', 'Doe']);
$userCollection = $collection->pipeInto(UserCollection::class);
// 輸出: UserCollection { users: Collection { items: ['John', 'Jane', 'Doe'] } }
print_r($userCollection);
Collection::whenEmpty
和 Collection::whenNotEmpty
方法Collection::whenEmpty
和 Collection::whenNotEmpty
方法允許你在集合為空或不為空時執行特定的回調函數。這使得在處理集合時更加靈活。
use Illuminate\Support\Collection;
$collection = collect([]);
$collection->whenEmpty(function ($collection) {
// 輸出: 'Collection is empty'
echo 'Collection is empty';
});
$collection = collect(['John', 'Jane', 'Doe']);
$collection->whenNotEmpty(function ($collection) {
// 輸出: 'Collection is not empty'
echo 'Collection is not empty';
});
Collection::unlessEmpty
和 Collection::unlessNotEmpty
方法與 whenEmpty
和 whenNotEmpty
方法類似,Collection::unlessEmpty
和 Collection::unlessNotEmpty
方法允許你在集合不為空或為空時執行特定的回調函數。
use Illuminate\Support\Collection;
$collection = collect([]);
$collection->unlessEmpty(function ($collection) {
// 不會執行
echo 'Collection is not empty';
});
$collection = collect(['John', 'Jane', 'Doe']);
$collection->unlessNotEmpty(function ($collection) {
// 不會執行
echo 'Collection is empty';
});
Collection::hasAny
方法Collection::hasAny
方法允許你檢查集合中是否存在任意一個指定的鍵。這在需要檢查集合中是否存在某些鍵時非常有用。
use Illuminate\Support\Collection;
$collection = collect(['name' => 'John', 'age' => 25]);
$hasAny = $collection->hasAny(['name', 'email']);
// 輸出: true
echo $hasAny ? 'true' : 'false';
Collection::sole
方法Collection::sole
方法允許你獲取集合中唯一的一個元素。如果集合中有多個元素或沒有元素,則會拋出異常。
use Illuminate\Support\Collection;
$collection = collect(['John']);
$sole = $collection->sole();
// 輸出: 'John'
echo $sole;
Collection::firstOrFail
方法Collection::firstOrFail
方法允許你獲取集合中的第一個元素。如果集合為空,則會拋出異常。
use Illuminate\Support\Collection;
$collection = collect(['John', 'Jane', 'Doe']);
$first = $collection->firstOrFail();
// 輸出: 'John'
echo $first;
Collection::skipUntil
和 Collection::skipWhile
方法Collection::skipUntil
和 Collection::skipWhile
方法允許你跳過集合中的元素,直到滿足某個條件為止。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$skippedUntil = $collection->skipUntil(function ($value) {
return $value > 3;
});
// 輸出: [4, 5]
print_r($skippedUntil->all());
$skippedWhile = $collection->skipWhile(function ($value) {
return $value < 3;
});
// 輸出: [3, 4, 5]
print_r($skippedWhile->all());
Collection::takeUntil
和 Collection::takeWhile
方法Collection::takeUntil
和 Collection::takeWhile
方法允許你從集合中取出元素,直到滿足某個條件為止。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$takenUntil = $collection->takeUntil(function ($value) {
return $value > 3;
});
// 輸出: [1, 2, 3]
print_r($takenUntil->all());
$takenWhile = $collection->takeWhile(function ($value) {
return $value < 3;
});
// 輸出: [1, 2]
print_r($takenWhile->all());
Collection::chunkWhile
方法Collection::chunkWhile
方法允許你根據條件將集合分塊。這在需要根據某些條件將集合分成多個小塊時非常有用。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$chunks = $collection->chunkWhile(function ($value, $key, $chunk) {
return $value % 2 === 0;
});
// 輸出: [[1], [2, 3], [4, 5], [6, 7], [8, 9], [10]]
print_r($chunks->all());
Collection::sliding
方法Collection::sliding
方法允許你創建一個滑動窗口的集合。這在需要處理連續的元素時非常有用。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$sliding = $collection->sliding(2);
// 輸出: [[1, 2], [2, 3], [3, 4], [4, 5]]
print_r($sliding->all());
Collection::lazy
方法Collection::lazy
方法允許你將集合轉換為一個惰性集合。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazy = $collection->lazy();
// 輸出: LazyCollection {#1}
print_r($lazy);
Collection::lazyById
方法Collection::lazyById
方法允許你根據 ID 將集合轉換為一個惰性集合。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyById = $collection->lazyById();
// 輸出: LazyCollection {#1}
print_r($lazyById);
Collection::lazyByIdDesc
方法Collection::lazyByIdDesc
方法允許你根據 ID 將集合轉換為一個惰性集合,并按降序排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdDesc = $collection->lazyByIdDesc();
// 輸出: LazyCollection {#1}
print_r($lazyByIdDesc);
Collection::lazyByIdChunk
方法Collection::lazyByIdChunk
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunk = $collection->lazyByIdChunk(2);
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunk);
Collection::lazyByIdChunkDesc
方法Collection::lazyByIdChunkDesc
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并按降序排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkDesc = $collection->lazyByIdChunkDesc(2);
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkDesc);
Collection::lazyByIdChunkWithOffset
方法Collection::lazyByIdChunkWithOffset
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffset = $collection->lazyByIdChunkWithOffset(2, 1);
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffset);
Collection::lazyByIdChunkWithOffsetDesc
方法Collection::lazyByIdChunkWithOffsetDesc
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量,并按降序排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetDesc = $collection->lazyByIdChunkWithOffsetDesc(2, 1);
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffsetDesc);
Collection::lazyByIdChunkWithOffsetAndLimit
方法Collection::lazyByIdChunkWithOffsetAndLimit
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量和限制。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetAndLimit = $collection->lazyByIdChunkWithOffsetAndLimit(2, 1, 3);
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffsetAndLimit);
Collection::lazyByIdChunkWithOffsetAndLimitDesc
方法Collection::lazyByIdChunkWithOffsetAndLimitDesc
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量和限制,并按降序排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetAndLimitDesc = $collection->lazyByIdChunkWithOffsetAndLimitDesc(2, 1, 3);
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffsetAndLimitDesc);
Collection::lazyByIdChunkWithOffsetAndLimitAndOrder
方法Collection::lazyByIdChunkWithOffsetAndLimitAndOrder
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量和限制,并按指定的順序排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetAndLimitAndOrder = $collection->lazyByIdChunkWithOffsetAndLimitAndOrder(2, 1, 3, 'desc');
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffsetAndLimitAndOrder);
Collection::lazyByIdChunkWithOffsetAndLimitAndOrderDesc
方法Collection::lazyByIdChunkWithOffsetAndLimitAndOrderDesc
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量和限制,并按指定的順序排列,并按降序排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetAndLimitAndOrderDesc = $collection->lazyByIdChunkWithOffsetAndLimitAndOrderDesc(2, 1, 3, 'desc');
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffsetAndLimitAndOrderDesc);
Collection::lazyByIdChunkWithOffsetAndLimitAndOrderAndKey
方法Collection::lazyByIdChunkWithOffsetAndLimitAndOrderAndKey
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量和限制,并按指定的順序排列,并按指定的鍵排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetAndLimitAndOrderAndKey = $collection->lazyByIdChunkWithOffsetAndLimitAndOrderAndKey(2, 1, 3, 'desc', 'id');
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffsetAndLimitAndOrderAndKey);
Collection::lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyDesc
方法Collection::lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyDesc
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量和限制,并按指定的順序排列,并按指定的鍵排列,并按降序排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyDesc = $collection->lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyDesc(2, 1, 3, 'desc', 'id');
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyDesc);
Collection::lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyAndValue
方法Collection::lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyAndValue
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量和限制,并按指定的順序排列,并按指定的鍵和值排列。這在處理大量數據時非常有用,因為它可以節省內存。
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyAndValue = $collection->lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyAndValue(2, 1, 3, 'desc', 'id', 'name');
// 輸出: LazyCollection {#1}
print_r($lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyAndValue);
Collection::lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyAndValueDesc
方法Collection::lazyByIdChunkWithOffsetAndLimitAndOrderAndKeyAndValueDesc
方法允許你根據 ID 將集合轉換為一個惰性集合,并按塊處理,并帶有偏移量和限制,并按指定的順序排列,并按指定的鍵和值排列,并按降序排列。這在處理大量數據時非常有用,因為它可以節省內存。
”`php use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$lazyByIdChunkWithOffsetAndLimit
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。