Laravel推薦使用的十個(gè)輔助函數(shù)
前言
Laravel 包含各種全局輔助函數(shù)。 laravel 中包含大量輔助函數(shù),您可以使用它們來簡化開發(fā)工作流程。 在這里,我將編寫 10 個(gè)最好的 laravel 幫助函數(shù),用于使我的開發(fā)更容易。 您必須考慮在必要時(shí)使用它們。
您還可以查看所有的官方文檔 laravel helper functions.
array_dot()
array_dot() array_dot () 輔助函數(shù)允許你將多維數(shù)組轉(zhuǎn)換為使用點(diǎn)符號(hào)的一維數(shù)組。
$array = [ 'user' => ['username' => 'something'], 'app' => ['creator' => ['name' => 'someone'], 'created' => 'today'] ]; $dot_array = array_dot($array); // [user.username] => something, [app.creator.name] => someone, [app.created] => today
array_get()
array_get() 函數(shù)使用點(diǎn)符號(hào)從多維數(shù)組中檢索值。
$array = [ 'user' => ['username' => 'something'], 'app' => ['creator' => ['name' => 'someone'], 'created' => 'today'] ]; $name = array_get($array, 'app.creator.name'); // someone
如果 key 不存在,array_get() 函數(shù)還接受可選的第三個(gè)參數(shù)作為默認(rèn)值。
$name = array_get($array, 'app.created.name', 'anonymous'); // anonymous
public_path()
public_path() 返回 Laravel 應(yīng)用程序中公共目錄的完全限定的絕對路徑。 你還可以將路徑傳遞到公共目錄中的文件或目錄以獲取該資源的絕對路徑。 它將簡單地將 public_path() 添加到你的參數(shù)中。
$public_path = public_path(); $path = public_path('js/app.js');
Str::orderedUuid()
Str::orderedUuid() 函數(shù)首先生成一個(gè)時(shí)間戳 uuid。 這個(gè) uuid 可以存儲(chǔ)在索引數(shù)據(jù)庫列中。 這些 uuid 是基于時(shí)間戳創(chuàng)建的,因此它們會(huì)保留你的內(nèi)容索引。 在 Laravel 5.6 中使用它時(shí),會(huì)引發(fā) Ramsey\Uuid\Exception\UnsatisfiedDependencyException。 要解決此問題,只需運(yùn)行以下命令即可使用 moontoast/math 包::
composer require "moontoast/math"
use Illuminate\Support\Str; return (string) Str::orderByUuid() // A timestamp first uuid
str_plural()
str_plural 函數(shù)將字符串轉(zhuǎn)換為復(fù)數(shù)形式。該功能只支持英文。
echo str_plural('bank'); // banks echo str_plural('developer'); // developers
route()
route() 函數(shù)為指定的路由生成路由 URL。
$url = route('login');
如果路由接受參數(shù),你可以簡單地將它們作為第二個(gè)參數(shù)傳遞給一個(gè)數(shù)組。
$url = route('products', ['id' => 1]);
如果你想產(chǎn)生一個(gè)相對的 URL 而不是一個(gè)絕對的 URL,你可以傳遞 false 作為第三個(gè)參數(shù)。
$url = route('products', ['id' => 1], false);
tap()
tap() 函數(shù)接受兩個(gè)參數(shù):一個(gè)值和一個(gè)閉包。該值將被傳遞給閉包,然后該值將被返回。閉包返回值無關(guān)緊要。
$user = App\User::find(1); return tap($user, function($user) { $user->update([ 'name' => 'Random' ]); });
它不會(huì)返回布爾值,而是返回 User Model 。
如果你沒有傳遞閉包,你也可以使用 User Model 的任何方法。 無論實(shí)際返回的方法如何,返回值都將始終為值。 在下面的例子中,它將返回 User Model 而不是布爾值。 update 方法返回布爾值,但由于用了 tap ,所以它將返回 User Model。
$user = App\User::find(1); return tap($user)->update([ 'name' => 'SomeName' ]);
dump()
dump() 函數(shù)會(huì) dump 給定的變量,同時(shí)也支持同時(shí)傳入多個(gè)變量。這對調(diào)試非常有用。
dump($var1); dump($var1, $var2, $var3);
str_slug()
str_slug() 函數(shù)將給定的字符串生成一個(gè) URL 友好的 slug。 你可以使用此功能為帖子或產(chǎn)品標(biāo)題創(chuàng)建一個(gè) slug。
$slug = str_slug('Helpers in Laravel', '-'); // helpers-in-laravel
optional()
optional() 函數(shù)接受一個(gè)參數(shù),你可以調(diào)用參數(shù)的方法或訪問屬性。 如果傳遞的對象為 null,則方法和屬性將返回 null,而不是導(dǎo)致錯(cuò)誤或拋出異常。
$user = User::find(1); return optional($user)->name;
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。
相關(guān)文章
使用PHP備份MySQL和網(wǎng)站發(fā)送到郵箱實(shí)例代碼
這篇文章主要介紹了使用PHP備份MySQL和網(wǎng)站發(fā)送到郵箱的方法,大家參考使用吧2013-11-11laravel框架中表單請求類型和CSRF防護(hù)實(shí)例分析
這篇文章主要介紹了laravel框架中表單請求類型和CSRF防護(hù),結(jié)合實(shí)例形式分析了laravel框架常見請求方法、提交請求以及csrf令牌的驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下2019-11-11Win2003+apache+PHP+SqlServer2008 配置生產(chǎn)環(huán)境
因項(xiàng)目的特殊需要,需要用php鏈接sql2008數(shù)據(jù)庫,為此,光這個(gè)環(huán)境問題就折磨了我好久,現(xiàn)在記錄下來過程,分享給大家2014-07-07php AJAX實(shí)例根據(jù)郵編自動(dòng)完成地址信息
當(dāng)客戶輸入一個(gè)POSTCODE后,zipcode.PHP就接收到它,然后進(jìn)行從數(shù)據(jù)表中取出對應(yīng)的資料,再按一定的格式返回給客戶端(此處是以 | 分隔)。最后客戶端接收返回的資料,顯示在頁面上。2008-11-11解決Laravel 使用insert插入數(shù)據(jù),字段created_at為0000的問題
今天小編就為大家分享一篇解決Laravel 使用insert插入數(shù)據(jù),字段created_at為0000的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10使用PHPStudy在本地快速建立網(wǎng)站并實(shí)現(xiàn)局域網(wǎng)外訪問(無公網(wǎng)IP)
這篇文章主要為大家介紹快速在本地環(huán)境下搭建web網(wǎng)站,同時(shí)實(shí)現(xiàn)可在外網(wǎng)環(huán)境下訪問的方法,文中有詳細(xì)的圖文介紹,具有一定的參考價(jià)值,需要的朋友可以參考下2023-10-10用Laravel Sms實(shí)現(xiàn)laravel短信驗(yàn)證碼的發(fā)送的實(shí)現(xiàn)
這篇文章主要介紹了用Laravel Sms實(shí)現(xiàn)laravel短信驗(yàn)證碼的發(fā)送的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11