身為一個以Laravel為主的PHP全端開發人員,我會經常去尋找一些框架中、可以為我所使用的、有效減少開發時間或減少程式碼複雜性的方法。以下是我整理的平常會常用到的一些不錯的輔助方法。讓我們一探究竟吧 ✨
文中方法大都基於Laravel7以及更早的版本。 (如果遇到問題,請先檢查是否為版本相容問題)
Str::limit()
我們的第一個輔助函數 取得一個字串並用一個設定的字元長度限制截斷它 。它有兩個必須參數:你想截斷的字串,以及傳回的被截斷的字串的字元長度限制。 【相關推薦: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 [...]
我發現這用於把一大段文字縮短為摘要或文章清單的貼文預覽是完美的。
head()
這個功能超讚。一個簡單的方法通常由幾個巢狀的原始PHP函數組成,head()會傳回陣列的第一個元素。由於其全局性和無處不在的性質,我已經在許多不同的應用程式中使用了它。
$array = [100, 200, 300]; $first = head($array); // 100
想反著來嗎?使用last
方法可以取得陣列的最後一個元素。
$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()
差不多,但比較好用。它根據你傳入的參數是否包含實際數據,來傳回一個布林值。
// all of these return true blank(''); blank(' '); blank(null); blank(collect()); // all of these return false blank(true); blank(false); blank(0);
這個輔助函數在結合表單驗證、除去 API 中沒有規範輸入的資料時,特別有用。
它比 empty(trim())
更好用。
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']
傳入一個陣列和一個點符號字串來確定我們想要的鍵值,然後遍歷多維數組,並將指定鍵所對應值的一維數組傳回給我們。
我在傳回的API資料中多次使用過該方法(當我覺得不需要使用整個的集合時)。它使獲得ID,名稱或其他屬性的陣列變得非常容易,而無需創建整個foreach循環。
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']
老實說,這只是集合的冰山一角。我在專案中都使用了它們,尤其是當我要處理不是來自資料庫模型的龐大而複雜的資料集時。 CSV 數據,外部API請求和目錄結構都可以從放入集合中使用。
這就是我現在所了解的!
原文網址:https://dev.to/aschmelyun/my-favorite-laravel-helpers-and-how-to-use-them-28ij
#譯文網址:https://learnku.com/laravel/t/43776
更多程式相關知識,請造訪:程式設計影片! !
以上是【整理分享】幾個實用的 Laravel 輔助函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版