我們的第一個輔助函數 獲取一個字符串并用一個設定的字符長度限制截斷它。它有兩個必須參數:你想截斷的字符串,以及返回的被截斷的字符串的字符長度限制?!鞠嚓P推薦:laravel視頻教程】
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 [...]
我發現這用于把一大段文本縮短為摘要或文章列表的帖子預覽是完美的。
(資料圖片僅供參考)
這個功能超贊。 一個簡單的方法通常由幾個嵌套的原始PHP函數組成,head()會返回數組的第一個元素。 由于其全局性和無處不在的性質,我已經在許多不同的應用程序中使用了它。
$array = [100, 200, 300];$first = head($array);// 100
想要反著來嗎? 使用last
方法可以獲取數組的最后一個元素。
$array = [100, 200, 300];$last = last($array);// 300
這是關于使用head和last方法的最佳方法,因為它們根本不影響原始數組。
顧名思義, Str::between() 會 返回字符串中的內容。如果沒有找到指定字符串,返回 null
。
use Illuminate\Support\Str;$slice = Str::between("My name is Inigo Montoya.", "My name is ", ".");// "Inigo Montoya"
我喜歡用這種方式從 ()
或 []
之間獲取信息、返回 url 中的特定部分、甚至是從 html 標簽中解析數據。
它 和empty()
差不多,但是更好用。它根據你傳入的參數是否包含實際數據,來返回一個布爾值。
// all of these return trueblank("");blank(" ");blank(null);blank(collect());// all of these return falseblank(true);blank(false);blank(0);
這個輔助函數在結合表單驗證、除去 API 中沒有規范輸入的數據時,特別有用。它比 empty(trim())
更好用。
我們期待已久的輔助函數, 確定一個字符串中是否包含另一個字符串. 這個問題在 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 遍歷多維數組并檢索給定鍵的所有值。
讓我們來看一個簡單的例子:
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"]
傳入一個數組和一個點符號字符串來確定我們想要的鍵值,然后遍歷多維數組,并將指定鍵所對應值的一維數組返回給我們。
我在返回的API數據中多次使用過該方法(當我覺得不需要使用整個的集合時)。它使獲得ID,名稱或其他屬性的數組變得非常容易,而無需創建整個foreach循環。
一旦發現集合有關的信息,我就不會停止使用它們。 這可能是我發現自己最常使用的助手函數,它可以讓您 將數組轉換為集合。
為什么這很重要? 因為集合帶有大量的便捷方法,您可以將它們組合在一起用最簡單的閉包參數對數組執行各種過濾,排序和修改等操作。 沒有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"]
老實說,這只是集合的冰山一角。 我在項目中都使用了它們,尤其是當我要處理不是來自數據庫模型的龐大而復雜的數據集時。 CSV 數據,外部API請求和目錄結構都可以從放入集合中使用。
這就是我現在所了解的!
原文地址:https://dev.to/aschmelyun/my-favorite-laravel-helpers-and-how-to-use-them-28ij
譯文地址:https://learnku.com/laravel/t/43776
更多編程相關知識,請訪問:編程視頻??!
以上就是【整理分享】幾個實用的 Laravel 輔助函數的詳細內容,更多請關注php中文網其它相關文章!
關鍵詞: Laravel