لاراول شامل توابع مختلف کمکی یا helper هست.در لاراول تعداد زیادی تابع کمکی وجود دارد که شما میتونید با استفاده ازشون کارتون رو راحت تر و سریعتر کنید. اینجا می خواهیم درمورد 10 کمکی عالی لاراول صحبت کنیم که کار توسعه رو برای من ساده تر کرده. شما میتونید هرجا که بهشون احتیاج پیدا کردید, از اونها استفاده کنید.
همچنین مستندات رسمی لاراول رو در مورد توابع کمکی از این لینک بررسی کنید.
array_dot
تابع کمکی ()array_dot به شما اجازه میده یک آرایه چندبعدی رو به یک آرایه تک بعدی تبدیل کنید که از نماد نقطه استفاده میکنه.
$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 مقدار یک آرایه چندبعدی رو با استفاده از نماد نقطه بازیابی میکنه.
$array = [
'user' => ['username' => 'something'],
'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
];
$name = array_get($array, 'app.creator.name');
// someone
سومین پارامتر تابع ()array_get بصورت اختیاری بوده و اگر کلید موجود نباشه به عنوان مقدار پیش فرض در نظر گرفته میشه.
$name = array_get($array, 'app.created.name', 'anonymous');
// anonymous
public_path
تابع ()public_path مسیر مطلق به دایرکتوری public برنامه لاراولی شما رو برمی گردونه. همچنین شما میتونید مسیر رو به یک فایل یا دایرکتوری داخل مسیر public پاس بدید تا مسیر مطلقش رو بدست بیارید. برای مثال به کد زیر توجه کنید :
$public_path = public_path();
$path = public_path('js/app.js');
Str::orderedUuid
این تابع بر اساس timestamp یک شناسه uuid تولید میکنه. این uuid میتونه به عنوان ستون کلیدی در دیتابیس ذخیره بشه. دلیلش هم اینه که از طریق timestamp تولید میشه و میتونه منحصربفرد بشه. وقتی از اون در لاراول 5.6 استفاده کنید, این یک Ramsey \ Uuid \ Exception \ UnsatisfiedDependencyException برمی گردونه. برای حل این مشکل با استفاده از دستور زیر پکیج moontoast/math رو فراخوانی کنید :
composer require "moontoast/math"
نحوه استفاده :
use Illuminate\Support\Str;
return (string) Str::orderByUuid()
// A timestamp first uuid
str_plural
این تابع یک رشته رو به فرم جمعش تبدیل میکنه. این تابع فقط زبان انگلیسی رو پشتیبانی میکنه :
echo str_plural('bank');
// banks
echo str_plural('developer');
// developers
route
تابع ()route یک مسیر url برای آدرس هایی که نامگذاری کردید تولید میکنه :
$url = route('login');
$url = route('products', ['id' => 1]);
اگر هم بخواهید به جای آدرس مطلق, آدرس نسبی بدید کافیه پارامتر false رو اضافه کنید :
$url = route('products', ['id' => 1], false);
tap
این تابع دو مقدار ورودی قبول میکنه یکی value و یکی closure. این value به closure پاس داده میشه و سپس value برگردونده میشه.
$user = App\User::find(1);
return tap($user, function($user) {
$user->update([
'name' => 'Random'
]);
});
بجای برگردوندن یک boolean, این مدل کاربر رو برمیگردونه.
در مثال زیر هم تابع update بجای boolean خود مدل کاربر رو برمیگردونه, دلیلش استفاده از tap هست :
$user = App\User::find(1);
return tap($user)->update([
'name' => 'SomeName'
]);
dump
تابع ()dump اطلاعات متغیرهای داده شده رو بدون متوقف کردن اجرا dump میکنه. این برای دیباگ کردن بسیار مفیده.
dump($var1);
dump($var1, $var2, $var3);
str_slug
این تابع با استفاده از رشته ی داده شده, یک slug مناسب برای url تولید میکنه. شما میتونید از طریق این تابع slug مسیرها رو برای محصولات یا پست های سایتتون تولید کنید.
$slug = str_slug('Helpers in Laravel', '-');
// helpers-in-laravel
optional
این تابع یک مقدار ورودی میگیره و شما میتونید متدها یا پراپرتی هایش رو صدا بزنید. اگر آبجکت داده شده null باشه بجای خطا, null برمیگردونه.
$user = User::find(1);
return optional($user)->name;
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید