作為一個以分享我最愛的七個Laravel輔助函數為主的PHP全端開發人員,我會經常去尋找一些框架中、可以為我所用的、有效減少開發時間或減少程式碼複雜性的方法。
以下是我整理的一些在平常會常用到的不錯的輔助方法。文中方法大都是基於分享我最愛的七個Laravel輔助函數7以及更早的版本。 (如果遇到問題,請先檢查是否為版本相容問題)讓我們一探究竟吧
Str::limit()我們的第一個輔助函數 取得一個字串並用一個設定的字元長度限制截斷它
。它有兩個必須參數:你想截斷的字串,以及傳回的被截斷的字串的字元長度限制。use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20); // The quick brown fox ...
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, '[...]'); // The quick brown fox [...]
head()
這個功能超讚。一個簡單的方法通常由幾個巢狀的原始PHP函數組成,head()會傳回陣列的第一個元素
。由於其全局性和無處不在的性質,我已經在許多不同的應用程式中使用了它。$array = [100, 200, 300]; $first = head($array); // 100
$array = [100, 200, 300]; $last = last($array); // 300
這是關於使用head和last方法的最佳方法,因為它們根本不影響原始陣列。
Str::between()
顧名思義,Str::between() 會 傳回字串中的內容
。如果沒有找到指定字串,則傳回null 。
use Illuminate\Support\Str; $slice = Str::between('My name is Inigo Montoya.', 'My name is ', '.'); // 'Inigo Montoya'
我喜歡用這種方式從
() 或[] 之間獲取資訊、返回url 中的特定部分、甚至從html 標籤中解析數據。
blank()
它 和
empty()差不多,但比較好用。它根據你傳入的參數是否包含實際數據,來傳回一個布林值。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">// all of these return true
blank(&#39;&#39;);
blank(&#39; &#39;);
blank(null);
blank(collect());
// all of these return false
blank(true);
blank(false);
blank(0);</pre><div class="contentsignin">登入後複製</div></div>
這個輔助函數在結合表單驗證、除去 API 中沒有規範輸入的資料時,特別有用。 它比
更好用。 Str::contains()
我們期待已久的輔助函數, 確定字串中是否包含另一個字串
.這個問題在 StackOverflow 和其他程式設計論壇上已經被問過很多次了, 因為目前在普通PHP程式中只能使用strpos.
use Illuminate\Support\Str; $contains = Str::contains('My name is Inigo Montoya.', 'Inigo'); // true $contains = Str::contains('My name is Inigo Montoya.', 'Andrew'); // false
隨著最近的rfc的批准, PHP將很快擁有自己的str_contains方法,這將使該方法過時。不過在此之前,它是分享我最愛的七個Laravel輔助函數中最有用的輔助函數之一。
Arr::pluck()
該方法可以說是我在本文中列出的更強大的方法之一,Arr::pluck 遍歷多維數組並檢索給定鍵的所有值
。讓我們來看一個簡單的例子:
use Illuminate\Support\Arr; $array = [ ['website' => ['id' => 1, 'url' => 'reddit.com']], ['website' => ['id' => 2, 'url' => 'twitter.com']], ['website' => ['id' => 3, 'url' => 'dev.to']], ]; $names = Arr::pluck($array, 'website.url'); // ['reddit.com', 'twitter.com', 'dev.to']
collect()
一旦發現集合有關的信息,我就不會停止使用它們。這可能是我發現自己最常使用的助手函數,它可以讓您 將陣列轉換為集合
。為什麼這很重要?因為集合帶有大量的便捷方法,您可以將它們組合在一起用最簡單的閉包參數對數組執行各種過濾,排序和修改等操作。沒有foreach 循環,沒有中間變量,只是乾淨的程式碼。
看看這個簡單的例子:$collection = collect(['Keys', 'Krates']); return $collection->map(function ($value) { return Str::upper($value); }); // ['KEYS', 'KRATES'] return $collection->filter(function ($value) { return strlen($value) > 4; }); // ['Krates']
這就是我現在所了解的!
原文網址:https://dev.to/aschmelyun/my-favorite-la...
翻譯網址:https://learnku.com/laravel/t/43776
以上是分享我最愛的七個Laravel輔助函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!