یاوران
معرفی
لاراول شامل انواع مختلفی از توابع جهانی "کمک کننده" PHP است. بسیاری از این توابع توسط خود چارچوب استفاده می شود. با این حال، شما آزاد هستید که از آنها در برنامه های کاربردی خود استفاده کنید اگر آنها را راحت می دانید.
روش های موجود
آرایه ها و اشیاء
Arr::افزودن Arr:: فرو ریختن Arr::crossJoin Arr:: تقسیم Arr::dot Arr::به جز آر::اول Arr:: مسطح کردن آر::فراموش کن Arr:: دریافت Arr:: دارد Arr::isAssoc آر::آخرین Arr::فقط Arr:: چیدن Arr::prepend آر::کشیدن Arr:: تصادفی Arr::پرس و جو Arr:: مجموعه Arr:: مخلوط کردن Arr:: مرتب سازی Arr::sortRecursive آر:: کجا Arr:: wrap data_fill data_get داده_مجموعه سر آخر
راه ها
رشته های
__ class_basename ه preg_replace_array خ::بعد Str::afterLast خیابان::قبل از Str::beforeLast خ::شتر خ::حاوی Str:: حاوی همه Str::endsWith خ::پایان Str::is Str::isUuid خ::کباب Str::Limit Str::orderedUuid Str:: جمع خیابان::تصادفی Str::replaceArray Str::replaceFirst Str::replaceLast خ::مفرد Str::slug خ::مار خیابان::شروع Str:: startsWith Str:: مطالعه Str::title Str::ucfirst خیابان::بالا Str::uuid Str::words ترانس trans_choice
URL ها
متفرقه
سقط abort_if abort_مگر اینکه برنامه اعتبار بازگشت bcrypt جای خالی پخش حافظه پنهان class_uses_recursive جمع آوری کنید پیکربندی کوکی csrf_field csrf_token DD رمزگشایی ارسال اعزام_اکنون زباله رمزگذاری env رویداد کارخانه پر شده است اطلاعات متمرکز ساز روش_فیلد اکنون قدیمی اختیاری خط مشی تغییر مسیر گزارش درخواست نجات برطرف کردن واکنش دوباره امتحان کنید جلسه ضربه زدن انداختن_اگر پرتاب_مگر امروز trait_uses_recursive تبدیل تایید کننده ارزش چشم انداز با
فهرست روش
آرایه ها و اشیاء
Arr::add()
این
Arr::add
متد یک جفت کلید/مقدار معین را به یک آرایه اضافه می کند اگر کلید داده شده از قبل در آرایه وجود نداشته باشد یا روی
null
:
use Illuminate\Support\Arr; $array = Arr::add(['name' => 'Desk'], 'price', 100); // ['name' => 'Desk', 'price' => 100] $array = Arr::add(['name' => 'Desk', 'price' => null], 'price', 100); // ['name' => 'Desk', 'price' => 100]
Arr::collapse()
این
Arr::collapse
روش یک آرایه از آرایه ها را در یک آرایه منفرد جمع می کند:
use Illuminate\Support\Arr; $array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
Arr::crossJoin()
متد
Arr::crossJoin
متقاطع به آرایه های داده شده می پیوندد و یک محصول دکارتی را با همه جایگشت های ممکن برمی گرداند:
use Illuminate\Support\Arr; $matrix = Arr::crossJoin([1, 2], ['a', 'b']); /* [ [1, 'a'], [1, 'b'], [2, 'a'], [2, 'b'], ]*/ $matrix = Arr::crossJoin([1, 2], ['a', 'b'], ['I', 'II']); /* [ [1, 'a', 'I'], [1, 'a', 'II'], [1, 'b', 'I'], [1, 'b', 'II'], [2, 'a', 'I'], [2, 'a', 'II'], [2, 'b', 'I'], [2, 'b', 'II'], ]*/
Arr::divide()
متد
Arr::divide
دو آرایه را برمی گرداند، یکی حاوی کلیدها و دیگری حاوی مقادیر آرایه داده شده:
use Illuminate\Support\Arr; [$keys, $values] = Arr::divide(['name' => 'Desk']); // $keys: ['name'] // $values: ['Desk']
Arr::dot()
این
Arr::dot
روش یک آرایه چند بعدی را به یک آرایه سطح تکی مسطح می کند که از نماد "نقطه" برای نشان دادن عمق استفاده می کند:
use Illuminate\Support\Arr; $array = ['products' => ['desk' => ['price' => 100]]]; $flattened = Arr::dot($array); // ['products.desk.price' => 100]
Arr::except()
این
Arr::except
روش جفت های کلید / مقدار داده شده را از یک آرایه حذف می کند:
use Illuminate\Support\Arr; $array = ['name' => 'Desk', 'price' => 100]; $filtered = Arr::except($array, ['price']); // ['name' => 'Desk']
Arr::first()
این
Arr::first
متد اولین عنصر آرایه ای را که آزمون صدق داده شده را رد می کند، برمی گرداند:
use Illuminate\Support\Arr; $array = [100, 200, 300]; $first = Arr::first($array, function ($value, $key) { return $value >= 150;}); // 200
یک مقدار پیش فرض نیز ممکن است به عنوان پارامتر سوم به متد ارسال شود. در صورتی که هیچ مقداری از آزمون حقیقت عبور نکند، این مقدار برگردانده خواهد شد:
use Illuminate\Support\Arr; $first = Arr::first($array, $callback, $default);
Arr::flatten()
این
Arr::flatten
روش یک آرایه چند بعدی را به یک آرایه سطح واحد مسطح می کند:
use Illuminate\Support\Arr; $array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']]; $flattened = Arr::flatten($array); // ['Joe', 'PHP', 'Ruby']
Arr::forget()
این
Arr::forget
روش یک جفت کلید/مقدار داده شده را از یک آرایه عمیق تو در تو با استفاده از نماد "نقطه" حذف می کند:
use Illuminate\Support\Arr; $array = ['products' => ['desk' => ['price' => 100]]]; Arr::forget($array, 'products.desk'); // ['products' => []]
Arr::get()
این
Arr::get
روش مقداری را از یک آرایه عمیق تو در تو با استفاده از نماد "نقطه" بازیابی می کند:
use Illuminate\Support\Arr; $array = ['products' => ['desk' => ['price' => 100]]]; $price = Arr::get($array, 'products.desk.price'); // 100
این
Arr::get
متد یک مقدار پیشفرض را نیز میپذیرد که در صورت یافت نشدن کلید خاص، برگردانده میشود:
use Illuminate\Support\Arr; $discount = Arr::get($array, 'products.desk.discount', 0); // 0
Arr::has()
این
Arr::has
روش بررسی می کند که آیا یک مورد یا موارد داده شده در یک آرایه با استفاده از نماد "نقطه" وجود دارد یا خیر:
use Illuminate\Support\Arr; $array = ['product' => ['name' => 'Desk', 'price' => 100]]; $contains = Arr::has($array, 'product.name'); // true $contains = Arr::has($array, ['product.price', 'product.discount']); // false
Arr::isAssoc()
اگر آرایه داده شده یک آرایه انجمنی باشد،
برمی
Arr::isAssoc
گردد .
true
اگر یک آرایه دارای کلیدهای عددی متوالی نباشد که با صفر شروع می شوند، "تداعی" در نظر گرفته می شود:
use Illuminate\Support\Arr; $isAssoc = Arr::isAssoc(['product' => ['name' => 'Desk', 'price' => 100]]); // true $isAssoc = Arr::isAssoc([1, 2, 3]); // false
Arr::last()
متد
Arr::last
آخرین عنصر آرایه ای را که آزمون صدق داده شده را رد می کند، برمی گرداند:
use Illuminate\Support\Arr; $array = [100, 200, 300, 110]; $last = Arr::last($array, function ($value, $key) { return $value >= 150;}); // 300
یک مقدار پیش فرض ممکن است به عنوان آرگومان سوم به متد ارسال شود. در صورتی که هیچ مقداری از آزمون حقیقت عبور نکند، این مقدار برگردانده خواهد شد:
use Illuminate\Support\Arr; $last = Arr::last($array, $callback, $default);
Arr::only()
متد
Arr::only
فقط جفت های کلید/مقدار مشخص شده را از آرایه داده شده برمی گرداند:
use Illuminate\Support\Arr; $array = ['name' => 'Desk', 'price' => 100, 'orders' => 10]; $slice = Arr::only($array, ['name', 'price']); // ['name' => 'Desk', 'price' => 100]
Arr::pluck()
این
Arr::pluck
متد تمام مقادیر یک کلید داده شده را از یک آرایه بازیابی می کند:
use Illuminate\Support\Arr; $array = [ ['developer' => ['id' => 1, 'name' => 'Taylor']], ['developer' => ['id' => 2, 'name' => 'Abigail']],]; $names = Arr::pluck($array, 'developer.name'); // ['Taylor', 'Abigail']
همچنین میتوانید تعیین کنید که چگونه میخواهید فهرست به دست آمده کلید شود:
use Illuminate\Support\Arr; $names = Arr::pluck($array, 'developer.name', 'developer.id'); // [1 => 'Taylor', 2 => 'Abigail']
Arr::prepend()
این
Arr::prepend
روش یک آیتم را به ابتدای یک آرایه فشار می دهد:
use Illuminate\Support\Arr; $array = ['one', 'two', 'three', 'four']; $array = Arr::prepend($array, 'zero'); // ['zero', 'one', 'two', 'three', 'four']
در صورت نیاز، می توانید کلیدی را که باید برای مقدار استفاده شود مشخص کنید:
use Illuminate\Support\Arr; $array = ['price' => 100]; $array = Arr::prepend($array, 'Desk', 'name'); // ['name' => 'Desk', 'price' => 100]
Arr::pull()
متد
Arr::pull
یک جفت کلید / مقدار را از یک آرایه برمی گرداند و حذف می کند:
use Illuminate\Support\Arr; $array = ['name' => 'Desk', 'price' => 100]; $name = Arr::pull($array, 'name'); // $name: Desk // $array: ['price' => 100]
یک مقدار پیش فرض ممکن است به عنوان آرگومان سوم به متد ارسال شود. اگر کلید وجود نداشته باشد، این مقدار برگردانده خواهد شد:
use Illuminate\Support\Arr; $value = Arr::pull($array, $key, $default);
Arr::random()
متد
Arr::random
یک مقدار تصادفی را از یک آرایه برمی گرداند:
use Illuminate\Support\Arr; $array = [1, 2, 3, 4, 5]; $random = Arr::random($array); // 4 - (retrieved randomly)
همچنین می توانید تعداد آیتم هایی را که باید به عنوان آرگومان دوم اختیاری برگردانده شوند، مشخص کنید. توجه داشته باشید که ارائه این آرگومان یک آرایه را برمی گرداند، حتی اگر فقط یک آیتم مورد نظر باشد:
use Illuminate\Support\Arr; $items = Arr::random($array, 2); // [2, 5] - (retrieved randomly)
Arr::query()
متد
Arr::query
آرایه را به یک query string تبدیل می کند:
use Illuminate\Support\Arr; $array = ['name' => 'Taylor', 'order' => ['column' => 'created_at', 'direction' => 'desc']]; Arr::query($array); // name=Taylor&order[column]=created_at&order[direction]=desc
Arr::set()
این
Arr::set
روش مقداری را در یک آرایه عمیق تو در تو با استفاده از نماد "نقطه" تنظیم می کند:
use Illuminate\Support\Arr; $array = ['products' => ['desk' => ['price' => 100]]]; Arr::set($array, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 200]]]
Arr::shuffle()
این
Arr::shuffle
روش به طور تصادفی موارد موجود در آرایه را با هم مخلوط می کند:
use Illuminate\Support\Arr; $array = Arr::shuffle([1, 2, 3, 4, 5]); // [3, 2, 5, 1, 4] - (generated randomly)
Arr::sort()
متد
Arr::sort
یک آرایه را بر اساس مقادیر آن مرتب می کند:
use Illuminate\Support\Arr; $array = ['Desk', 'Table', 'Chair']; $sorted = Arr::sort($array); // ['Chair', 'Desk', 'Table']
همچنین می توانید آرایه را بر اساس نتایج بسته شدن داده شده مرتب کنید:
use Illuminate\Support\Arr; $array = [ ['name' => 'Desk'], ['name' => 'Table'], ['name' => 'Chair'],]; $sorted = array_values(Arr::sort($array, function ($value) { return $value['name'];})); /* [ ['name' => 'Chair'], ['name' => 'Desk'], ['name' => 'Table'], ]*/
Arr::sortRecursive()
این
Arr::sortRecursive
روش به صورت بازگشتی یک آرایه را با استفاده از
sort
تابع برای زیر آرایه های عددی و
ksort
برای زیرآرایه های انجمنی مرتب می کند:
use Illuminate\Support\Arr; $array = [ ['Roman', 'Taylor', 'Li'], ['PHP', 'Ruby', 'JavaScript'], ['one' => 1, 'two' => 2, 'three' => 3],]; $sorted = Arr::sortRecursive($array); /* [ ['JavaScript', 'PHP', 'Ruby'], ['one' => 1, 'three' => 3, 'two' => 2], ['Li', 'Roman', 'Taylor'], ]*/
Arr::where()
این
Arr::where
روش یک آرایه را با استفاده از بسته شدن داده شده فیلتر می کند:
use Illuminate\Support\Arr; $array = [100, '200', 300, '400', 500]; $filtered = Arr::where($array, function ($value, $key) { return is_string($value);}); // [1 => '200', 3 => '400']
Arr::wrap()
این
Arr::wrap
روش مقدار داده شده را در یک آرایه پیچیده می کند. اگر مقدار داده شده از قبل یک آرایه باشد، تغییر نخواهد کرد:
use Illuminate\Support\Arr; $string = 'Laravel'; $array = Arr::wrap($string); // ['Laravel']
اگر مقدار داده شده null باشد، یک آرایه خالی برگردانده می شود:
use Illuminate\Support\Arr; $nothing = null; $array = Arr::wrap($nothing); // []
data_fill()
این
data_fill
تابع یک مقدار گمشده را در یک آرایه یا شی تودرتو با استفاده از نماد "نقطه" تنظیم می کند:
$data = ['products' => ['desk' => ['price' => 100]]]; data_fill($data, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 100]]] data_fill($data, 'products.desk.discount', 10); // ['products' => ['desk' => ['price' => 100, 'discount' => 10]]]
این تابع همچنین ستاره ها را به عنوان حروف عام می پذیرد و هدف را بر این اساس پر می کند:
$data = [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2'], ],]; data_fill($data, 'products.*.price', 200); /* [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2', 'price' => 200], ], ]*/
data_get()
این
data_get
تابع مقداری را از یک آرایه یا شی تودرتو با استفاده از نماد "نقطه" بازیابی می کند:
$data = ['products' => ['desk' => ['price' => 100]]]; $price = data_get($data, 'products.desk.price'); // 100
تابع
data_get
همچنین یک مقدار پیشفرض را میپذیرد که در صورت یافت نشدن کلید مشخص شده برگردانده میشود:
$discount = data_get($data, 'products.desk.discount', 0); // 0
این تابع همچنین با استفاده از ستاره هایی که ممکن است هر کلیدی از آرایه یا شی را هدف قرار دهند، حروف عام را می پذیرد:
$data = [ 'product-one' => ['name' => 'Desk 1', 'price' => 100], 'product-two' => ['name' => 'Desk 2', 'price' => 150],]; data_get($data, '*.name'); // ['Desk 1', 'Desk 2'];
data_set()
این
data_set
تابع مقداری را در یک آرایه یا شی تودرتو با استفاده از نماد "نقطه" تنظیم می کند:
$data = ['products' => ['desk' => ['price' => 100]]]; data_set($data, 'products.desk.price', 200); // ['products' => ['desk' => ['price' => 200]]]
این تابع همچنین حروف عام را می پذیرد و مقادیر را بر روی هدف تنظیم می کند:
$data = [ 'products' => [ ['name' => 'Desk 1', 'price' => 100], ['name' => 'Desk 2', 'price' => 150], ],]; data_set($data, 'products.*.price', 200); /* [ 'products' => [ ['name' => 'Desk 1', 'price' => 200], ['name' => 'Desk 2', 'price' => 200], ], ]*/
به طور پیش فرض، هر مقدار موجود بازنویسی می شود. اگر میخواهید یک مقدار را فقط در صورتی تنظیم کنید که وجود نداشته باشد، میتوانید
false
به عنوان آرگومان چهارم ارسال کنید:
$data = ['products' => ['desk' => ['price' => 100]]]; data_set($data, 'products.desk.price', 200, false); // ['products' => ['desk' => ['price' => 100]]]
head()
تابع
head
اولین عنصر در آرایه داده شده را برمی گرداند:
$array = [100, 200, 300]; $first = head($array); // 100
last()
تابع
last
آخرین عنصر در آرایه داده شده را برمی گرداند:
$array = [100, 200, 300]; $last = last($array); // 300
راه ها
app_path()
تابع
app_path
مسیر کاملا واجد شرایط را به
app
دایرکتوری برمی گرداند. همچنین می توانید از این
app_path
تابع برای ایجاد یک مسیر کاملا واجد شرایط به یک فایل نسبت به فهرست برنامه استفاده کنید:
$path = app_path(); $path = app_path('Http/Controllers/Controller.php');
base_path()
تابع
base_path
مسیر کاملا واجد شرایط را به ریشه پروژه برمی گرداند. همچنین می توانید از
base_path
تابع برای ایجاد یک مسیر کاملا واجد شرایط به یک فایل داده شده نسبت به دایرکتوری ریشه پروژه استفاده کنید:
$path = base_path(); $path = base_path('vendor/bin');
config_path()
تابع
config_path
مسیر کاملا واجد شرایط را به
config
دایرکتوری برمی گرداند. همچنین میتوانید از این
config_path
تابع برای ایجاد یک مسیر کاملاً واجد شرایط به یک فایل معین در دایرکتوری پیکربندی برنامه استفاده کنید:
$path = config_path(); $path = config_path('app.php');
database_path()
تابع
database_path
مسیر کاملا واجد شرایط را به
database
دایرکتوری برمی گرداند. همچنین می توانید از
database_path
تابع برای ایجاد یک مسیر کاملا واجد شرایط به یک فایل معین در فهرست پایگاه داده استفاده کنید:
$path = database_path(); $path = database_path('factories/UserFactory.php');
mix()
تابع
mix
مسیر را به
فایل Mix نسخه شده
برمی گرداند :
$path = mix('css/app.css');
public_path()
تابع
public_path
مسیر کاملا واجد شرایط را به
public
دایرکتوری برمی گرداند. همچنین میتوانید از
public_path
تابع برای ایجاد یک مسیر کاملاً واجد شرایط به یک فایل معین در فهرست عمومی استفاده کنید:
$path = public_path(); $path = public_path('css/app.css');
resource_path()
تابع
resource_path
مسیر کاملا واجد شرایط را به
resources
دایرکتوری برمی گرداند. همچنین می توانید از
resource_path
تابع برای ایجاد یک مسیر کاملا واجد شرایط به یک فایل معین در فهرست منابع استفاده کنید:
$path = resource_path(); $path = resource_path('sass/app.scss');
storage_path()
تابع
storage_path
مسیر کاملا واجد شرایط را به
storage
دایرکتوری برمی گرداند. همچنین می توانید از این
storage_path
تابع برای ایجاد یک مسیر کاملا واجد شرایط به یک فایل معین در فهرست ذخیره سازی استفاده کنید:
$path = storage_path(); $path = storage_path('app/file.txt');
رشته های
__()
تابع
__
، رشته ترجمه یا کلید ترجمه داده شده را با استفاده از
فایل های محلی سازی
شما ترجمه می کند :
echo __('Welcome to our application'); echo __('messages.welcome');
اگر رشته یا کلید ترجمه مشخص شده وجود نداشته باشد،
__
تابع مقدار داده شده را برمی گرداند. بنابراین، با استفاده از مثال بالا،
اگر کلید ترجمه وجود نداشته باشد،
__
تابع برمی گردد .
messages.welcome
class_basename()
تابع
class_basename
نام کلاس کلاس داده شده را با حذف فضای نام کلاس برمی گرداند:
$class = class_basename('Foo\Bar\Baz'); // Baz
e()
این
e
تابع تابع PHP را
htmlspecialchars
با
double_encode
گزینه ای که به صورت پیش فرض تنظیم شده است اجرا می کند
true
:
echo e('<html>foo</html>'); // <html>foo</html>
preg_replace_array()
تابع
preg_replace_array
با استفاده از یک آرایه به صورت متوالی یک الگوی داده شده را در رشته جایگزین می کند:
$string = 'The event will take place between :start and :end'; $replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string); // The event will take place between 8:30 and 9:00
Str::after()
متد
Str::after
همه چیز را بعد از مقدار داده شده در یک رشته برمی گرداند. اگر مقدار درون رشته وجود نداشته باشد، کل رشته برگردانده خواهد شد:
use Illuminate\Support\Str; $slice = Str::after('This is my name', 'This is'); // ' my name'
Str::afterLast()
متد
Str::afterLast
همه چیز را پس از آخرین وقوع مقدار داده شده در یک رشته برمی گرداند. اگر مقدار درون رشته وجود نداشته باشد، کل رشته برگردانده خواهد شد:
use Illuminate\Support\Str; $slice = Str::afterLast('App\Http\Controllers\Controller', '\\'); // 'Controller'
Str::before()
متد
Str::before
همه چیز را قبل از مقدار داده شده در یک رشته برمی گرداند:
use Illuminate\Support\Str; $slice = Str::before('This is my name', 'my name'); // 'This is '
Str::beforeLast()
متد
Str::beforeLast
همه چیز را قبل از آخرین وقوع مقدار داده شده در یک رشته برمی گرداند:
use Illuminate\Support\Str; $slice = Str::beforeLast('This is my name', 'is'); // 'This '
Str::camel()
متد
Str::camel
رشته داده شده را به
camelCase
:
use Illuminate\Support\Str; $converted = Str::camel('foo_bar'); // fooBar
Str::contains()
این
Str::contains
روش تعیین می کند که آیا رشته داده شده حاوی مقدار داده شده است (حساس به حروف کوچک و بزرگ):
use Illuminate\Support\Str; $contains = Str::contains('This is my name', 'my'); // true
همچنین میتوانید آرایهای از مقادیر را برای تعیین اینکه آیا رشته داده شده حاوی هر یک از مقادیر است، ارسال کنید:
use Illuminate\Support\Str; $contains = Str::contains('This is my name', ['my', 'foo']); // true
Str::containsAll()
متد
Str::containsAll
تعیین می کند که آیا رشته داده شده حاوی تمام مقادیر آرایه است یا خیر:
use Illuminate\Support\Str; $containsAll = Str::containsAll('This is my name', ['my', 'name']); // true
Str::endsWith()
متد
Str::endsWith
تعیین می کند که آیا رشته داده شده با مقدار داده شده به پایان می رسد:
use Illuminate\Support\Str; $result = Str::endsWith('This is my name', 'name'); // true
همچنین میتوانید آرایهای از مقادیر را برای تعیین اینکه آیا رشته داده شده به هر یک از مقادیر داده شده ختم میشود ارسال کنید:
use Illuminate\Support\Str; $result = Str::endsWith('This is my name', ['name', 'foo']); // true $result = Str::endsWith('This is my name', ['this', 'foo']); // false
Str::finish()
این
Str::finish
متد یک نمونه از مقدار داده شده را به یک رشته اضافه می کند اگر قبلاً به مقدار ختم نشده باشد:
use Illuminate\Support\Str; $adjusted = Str::finish('this/string', '/'); // this/string/ $adjusted = Str::finish('this/string/', '/'); // this/string/
Str::is()
این
Str::is
روش تعیین می کند که آیا یک رشته داده شده با یک الگوی داده شده مطابقت دارد یا خیر. از ستاره ها می توان برای نشان دادن حروف عام استفاده کرد:
use Illuminate\Support\Str; $matches = Str::is('foo*', 'foobar'); // true $matches = Str::is('baz*', 'foobar'); // false
Str::ucfirst()
متد
Str::ucfirst
رشته داده شده را با حروف بزرگ برمی گرداند:
use Illuminate\Support\Str; $string = Str::ucfirst('foo bar'); // Foo bar
Str::upper()
متد
Str::upper
رشته داده شده را به حروف بزرگ تبدیل می کند:
use Illuminate\Support\Str; $string = Str::upper('laravel'); // LARAVEL
Str::isUuid()
این
Str::isUuid
روش تعیین می کند که آیا رشته داده شده یک UUID معتبر است یا خیر:
use Illuminate\Support\Str; $isUuid = Str::isUuid('a0a2a2d2-0b87-4a18-83f2-2529882be2de'); // true $isUuid = Str::isUuid('laravel'); // false
Str::kebab()
متد
Str::kebab
رشته داده شده را به
kebab-case
:
use Illuminate\Support\Str; $converted = Str::kebab('fooBar'); // foo-bar
Str::limit()
متد
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 (...)
Str::orderedUuid()
این
Str::orderedUuid
روش یک UUID "مهر زمانی" تولید می کند که ممکن است به طور موثر در یک ستون پایگاه داده نمایه شده ذخیره شود:
use Illuminate\Support\Str; return (string) Str::orderedUuid();
Str::plural()
این
Str::plural
روش یک رشته کلمه واحد را به شکل جمع آن تبدیل می کند. این تابع در حال حاضر فقط از زبان انگلیسی پشتیبانی می کند:
use Illuminate\Support\Str; $plural = Str::plural('car'); // cars $plural = Str::plural('child'); // children
می توانید یک عدد صحیح به عنوان آرگومان دوم برای تابع برای بازیابی شکل مفرد یا جمع رشته ارائه دهید:
use Illuminate\Support\Str; $plural = Str::plural('child', 2); // children $plural = Str::plural('child', 1); // child
Str::random()
این
Str::random
روش یک رشته تصادفی با طول مشخص شده تولید می کند. این تابع از تابع PHP استفاده می کند
random_bytes
:
use Illuminate\Support\Str; $random = Str::random(40);
Str::replaceArray()
این
Str::replaceArray
روش با استفاده از یک آرایه، مقدار داده شده را در رشته جایگزین می کند:
use Illuminate\Support\Str; $string = 'The event will take place between ? and ?'; $replaced = Str::replaceArray('?', ['8:30', '9:00'], $string); // The event will take place between 8:30 and 9:00
Str::replaceFirst()
متد
Str::replaceFirst
اولین وقوع یک مقدار داده شده را در یک رشته جایگزین می کند:
use Illuminate\Support\Str; $replaced = Str::replaceFirst('the', 'a', 'the quick brown fox jumps over the lazy dog'); // a quick brown fox jumps over the lazy dog
Str::replaceLast()
متد
Str::replaceLast
آخرین وقوع یک مقدار داده شده را در یک رشته جایگزین می کند:
use Illuminate\Support\Str; $replaced = Str::replaceLast('the', 'a', 'the quick brown fox jumps over the lazy dog'); // the quick brown fox jumps over a lazy dog
Str::singular()
این
Str::singular
روش یک رشته را به شکل تکی آن تبدیل می کند. این تابع در حال حاضر فقط از زبان انگلیسی پشتیبانی می کند:
use Illuminate\Support\Str; $singular = Str::singular('cars'); // car $singular = Str::singular('children'); // child
Str::slug()
این
Str::slug
روش یک URL دوستدار "slug" از رشته داده شده ایجاد می کند:
use Illuminate\Support\Str; $slug = Str::slug('Laravel 5 Framework', '-'); // laravel-5-framework
Str::snake()
متد
Str::snake
رشته داده شده را به
snake_case
:
use Illuminate\Support\Str; $converted = Str::snake('fooBar'); // foo_bar
Str::start()
این
Str::start
متد یک نمونه از مقدار داده شده را به یک رشته اضافه می کند اگر از قبل با مقدار شروع نشده باشد:
use Illuminate\Support\Str; $adjusted = Str::start('this/string', '/'); // /this/string $adjusted = Str::start('/this/string', '/'); // /this/string
Str::startsWith()
متد
Str::startsWith
تعیین می کند که آیا رشته داده شده با مقدار داده شده شروع می شود:
use Illuminate\Support\Str; $result = Str::startsWith('This is my name', 'This'); // true
Str::studly()
متد
Str::studly
رشته داده شده را به
StudlyCase
:
use Illuminate\Support\Str; $converted = Str::studly('foo_bar'); // FooBar
Str::title()
متد
Str::title
رشته داده شده را به
Title Case
:
use Illuminate\Support\Str; $converted = Str::title('a nice title uses the correct case'); // A Nice Title Uses The Correct Case
Str::uuid()
این
Str::uuid
روش یک UUID (نسخه 4) تولید می کند:
use Illuminate\Support\Str; return (string) Str::uuid();
Str::words()
این
Str::words
روش تعداد کلمات یک رشته را محدود می کند:
use Illuminate\Support\Str; return Str::words('Perfectly balanced, as all things should be.', 3, ' >>>'); // Perfectly balanced, as >>>
trans()
تابع
trans
کلید ترجمه داده شده را با استفاده از
فایل های محلی سازی
شما ترجمه می کند :
echo trans('messages.welcome');
اگر کلید ترجمه مشخص شده وجود نداشته باشد،
trans
تابع کلید داده شده را برمی گرداند. بنابراین، با استفاده از مثال بالا،
اگر کلید ترجمه وجود نداشته باشد،
trans
تابع برمی گردد .
messages.welcome
trans_choice()
تابع
trans_choice
کلید ترجمه داده شده را با عطف ترجمه می کند:
echo trans_choice('messages.notifications', $unreadCount);
اگر کلید ترجمه مشخص شده وجود نداشته باشد،
trans_choice
تابع کلید داده شده را برمی گرداند. بنابراین، با استفاده از مثال بالا،
اگر کلید ترجمه وجود نداشته باشد،
trans_choice
تابع برمی گردد .
messages.notifications
URL ها
action()
تابع
action
یک URL برای عملکرد کنترلر داده شده ایجاد می کند. نیازی نیست فضای نام کامل کنترلر را پاس کنید. در عوض، نام کلاس کنترلر را نسبت به
App\Http\Controllers
فضای نام ارسال کنید:
$url = action('HomeController@index'); $url = action([HomeController::class, 'index']);
اگر متد پارامترهای مسیر را بپذیرد، می توانید آنها را به عنوان آرگومان دوم به متد ارسال کنید:
$url = action('UserController@profile', ['id' => 1]);
asset()
این
asset
تابع با استفاده از طرح فعلی درخواست (HTTP یا HTTPS)، یک URL برای یک دارایی ایجاد می کند:
$url = asset('img/photo.jpg');
میتوانید میزبان URL دارایی را با تنظیم
ASSET_URL
متغیر در
.env
فایل خود پیکربندی کنید. اگر دارایی های خود را در یک سرویس خارجی مانند Amazon S3 میزبانی کنید، می تواند مفید باشد:
// ASSET_URL=http://example.com/assets $url = asset('img/photo.jpg'); // http://example.com/assets/img/photo.jpg
route()
تابع
route
یک URL برای مسیر نامگذاری شده ایجاد می کند:
$url = route('routeName');
اگر مسیر پارامترها را می پذیرد، می توانید آنها را به عنوان آرگومان دوم به متد ارسال کنید:
$url = route('routeName', ['id' => 1]);
به طور پیش فرض،
route
تابع یک URL مطلق تولید می کند. اگر می خواهید یک URL نسبی ایجاد کنید، می توانید
false
به عنوان آرگومان سوم ارسال کنید:
$url = route('routeName', ['id' => 1], false);
secure_asset()
تابع
secure_asset
با استفاده از HTTPS یک URL برای یک دارایی ایجاد می کند:
$url = secure_asset('img/photo.jpg');
secure_url()
تابع
secure_url
یک URL HTTPS کاملا واجد شرایط به مسیر داده شده ایجاد می کند:
$url = secure_url('user/profile'); $url = secure_url('user/profile', [1]);
url()
تابع
url
یک URL کاملا واجد شرایط برای مسیر داده شده ایجاد می کند:
$url = url('user/profile'); $url = url('user/profile', [1]);
اگر مسیری ارائه نشده باشد، یک
Illuminate\Routing\UrlGenerator
نمونه برگردانده می شود:
$current = url()->current(); $full = url()->full(); $previous = url()->previous();
متفرقه
abort()
این
abort
تابع
یک استثنای HTTP ایجاد می کند که توسط
کنترل کننده استثنا
ارائه می شود
:
abort(403);
همچنین میتوانید متن پاسخ استثنا و سرصفحههای پاسخ سفارشی را ارائه دهید:
abort(403, 'Unauthorized.', $headers);
abort_if()
abort_if
اگر یک عبارت بولی داده شده به صورت زیر ارزیابی شود، تابع یک استثنا HTTP ایجاد می
کند
true
:
abort_if(! Auth::user()->isAdmin(), 403);
مانند
abort
روش، شما همچنین می توانید متن پاسخ استثنا را به عنوان آرگومان سوم و آرایه ای از سرصفحه های پاسخ سفارشی را به عنوان آرگومان چهارم ارائه دهید.
abort_unless()
abort_unless
اگر یک عبارت بولی داده شده به صورت زیر ارزیابی شود، تابع یک استثنا HTTP ایجاد می
کند
false
:
abort_unless(Auth::user()->isAdmin(), 403);
مانند
abort
روش، شما همچنین می توانید متن پاسخ استثنا را به عنوان آرگومان سوم و آرایه ای از سرصفحه های پاسخ سفارشی را به عنوان آرگومان چهارم ارائه دهید.
app()
تابع نمونه
کانتینر سرویس
app
را برمی گرداند
:
$container = app();
می توانید یک کلاس یا نام رابط را برای حل آن از کانتینر ارسال کنید:
$api = app('HelpSpot\API');
auth()
تابع
auth
یک نمونه
احراز هویت کننده
را برمی گرداند . برای راحتی
می توانید از آن به جای
Auth
نما استفاده کنید:
$user = auth()->user();
در صورت نیاز، می توانید مشخص کنید که به کدام نمونه نگهبان می خواهید دسترسی داشته باشید:
$user = auth('admin')->user();
back()
این
back
تابع یک
پاسخ HTTP تغییر مسیر
به مکان قبلی کاربر ایجاد می کند:
return back($status = 302, $headers = [], $fallback = false); return back();
bcrypt()
تابع
با استفاده از Bcrypt مقدار داده شده را
هش می کند
bcrypt
.
می توانید از آن به عنوان جایگزینی برای
نما استفاده کنید:
Hash
$password = bcrypt('my-secret-password');
blank()
تابع
blank
برمی گرداند که آیا مقدار داده شده "خالی" باشد:
blank('');blank(' ');blank(null);blank(collect()); // true blank(0);blank(true);blank(false); // false
برای معکوس
blank
،
filled
روش را ببینید.
broadcast()
تابع
رویداد
داده شده را برای
broadcast
شنوندگان
خود
پخش می کند :
broadcast(new UserRegistered($user));
cache()
این
cache
تابع ممکن است برای دریافت مقادیر از
حافظه پنهان
استفاده شود . اگر کلید داده شده در حافظه پنهان وجود نداشته باشد، یک مقدار پیش فرض اختیاری برگردانده می شود:
$value = cache('key'); $value = cache('key', 'default');
میتوانید با ارسال آرایهای از جفتهای کلید/مقدار به تابع، موارد را به حافظه پنهان اضافه کنید. همچنین باید تعداد ثانیه ها یا مدت زمانی را که مقدار کش شده باید معتبر در نظر گرفته شود، بگذرانید:
cache(['key' => 'value'], 300); cache(['key' => 'value'], now()->addSeconds(10));
class_uses_recursive()
این
class_uses_recursive
تابع تمام صفات استفاده شده توسط یک کلاس، از جمله صفات استفاده شده توسط تمام کلاس های والد آن را برمی گرداند:
$traits = class_uses_recursive(App\User::class);
collect()
تابع
collect
یک نمونه
مجموعه
از مقدار داده شده ایجاد می کند:
$collection = collect(['taylor', 'abigail']);
config()
تابع
config
مقدار یک متغیر
پیکربندی
را دریافت می کند . مقادیر پیکربندی ممکن است با استفاده از نحو "نقطه"، که شامل نام فایل و گزینه ای است که می خواهید به آن دسترسی داشته باشید، قابل دسترسی است. یک مقدار پیشفرض ممکن است مشخص شود و اگر گزینه پیکربندی وجود نداشته باشد، برگردانده میشود:
$value = config('app.timezone'); $value = config('app.timezone', $default);
میتوانید با ارسال آرایهای از جفتهای کلید/مقدار، متغیرهای پیکربندی را در زمان اجرا تنظیم کنید:
config(['app.debug' => true]);
cookie()
تابع یک نمونه
کوکی
cookie
جدید ایجاد می کند
:
$cookie = cookie('name', 'value', $minutes);
csrf_field()
تابع
csrf_field
یک فیلد ورودی HTML
hidden
حاوی مقدار توکن CSRF تولید می کند. به عنوان مثال، با استفاده از
دستور Blade
:
{{ csrf_field() }}
csrf_token()
تابع
csrf_token
مقدار توکن CSRF فعلی را بازیابی می کند:
$token = csrf_token();
dd()
تابع
dd
متغیرهای داده شده را تخلیه می کند و اجرای اسکریپت را پایان می دهد:
dd($value); dd($value1, $value2, $value3, ...);
اگر نمی خواهید اجرای اسکریپت خود را متوقف کنید،
dump
به جای آن از تابع استفاده کنید.
decrypt()
تابع مقدار داده شده را با استفاده از
رمزگذار
decrypt
لاراول رمزگشایی می کند
:
$decrypted = decrypt($encrypted_value);
dispatch()
تابع
کار
dispatch
داده شده را به
صف کار
لاراول فشار می دهد
:
dispatch(new App\Jobs\SendEmails);
dispatch_now()
تابع بلافاصله
کار
dispatch_now
داده شده را اجرا می کند
و مقدار را از
متد خود برمی گرداند:
handle
$result = dispatch_now(new App\Jobs\SendEmails);
dump()
تابع
dump
متغیرهای داده شده را تخلیه می کند:
dump($value); dump($value1, $value2, $value3, ...);
اگر می خواهید پس از حذف متغیرها اجرای اسکریپت را متوقف کنید،
dd
به جای آن از تابع استفاده کنید.
encrypt()
تابع مقدار داده شده را با استفاده از
رمزگذار
encrypt
لاراول رمزگذاری می کند
:
$encrypted = encrypt($unencrypted_value);
env()
تابع
env
مقدار یک
متغیر محیطی
را بازیابی می کند یا یک مقدار پیش فرض را برمی گرداند:
$env = env('APP_ENV'); // Returns 'production' if APP_ENV is not set...$env = env('APP_ENV', 'production');
اگر فرمان را در طول فرآیند استقرار خود اجرا می کنید
config:cache
، باید مطمئن باشید کهenv
تابع را فقط از داخل فایل های پیکربندی خود فراخوانی می کنید. هنگامی که پیکربندی کش شد،.env
فایل بارگیری نمیشود و همه تماسهای تابعenv
برمیگردندnull
.
event()
تابع
رویداد
event
داده شده را
به شنوندگان خود ارسال می کند:
event(new UserRegistered($user));
factory()
این
factory
تابع یک کارخانه سازنده مدل برای یک کلاس، نام و مقدار معین ایجاد می کند. می توان از آن در هنگام
آزمایش
یا
بذر
استفاده کرد :
$user = factory(App\User::class)->make();
filled()
تابع
filled
برمی گرداند که آیا مقدار داده شده "خالی" نباشد:
filled(0);filled(true);filled(false); // true filled('');filled(' ');filled(null);filled(collect()); // false
برای معکوس
filled
،
blank
روش را ببینید.
info()
تابع اطلاعات را در
گزارش
info
می نویسد
:
info('Some helpful information!');
آرایه ای از داده های متنی نیز ممکن است به تابع ارسال شود:
info('User login attempt failed.', ['id' => $user->id]);
logger()
از این تابع می توان برای نوشتن یک
پیام سطح به
گزارش
logger
استفاده کرد
:
debug
logger('Debug message');
آرایه ای از داده های متنی نیز ممکن است به تابع ارسال شود:
logger('User has logged in.', ['id' => $user->id]);
اگر مقداری به تابع ارسال نشود، یک نمونه لاگر برگردانده می شود:
logger()->error('You are not allowed here.');
method_field()
این
method_field
تابع یک فیلد ورودی HTML
hidden
حاوی مقدار جعلی فعل HTTP فرم تولید می کند. به عنوان مثال، با استفاده از
دستور Blade
:
<form method="POST"> {{ method_field('DELETE') }}</form>
now()
تابع
now
یک نمونه جدید
Illuminate\Support\Carbon
برای زمان فعلی ایجاد می کند:
$now = now();
old()
تابع
یک مقدار
ورودی قدیمی
فلش شده در جلسه
old
را
بازیابی می کند :
$value = old('value'); $value = old('value', 'default');
optional()
تابع
optional
هر آرگومان را می پذیرد و به شما امکان می دهد به ویژگی ها یا فراخوانی متدهای آن شیء دسترسی داشته باشید. اگر شی داده شده باشد ، خواص و متدها
به جای ایجاد خطا
null
برمی گردند :
null
return optional($user->address)->street; {!! old('name', optional($user)->name) !!}
تابع
optional
همچنین یک Closure را به عنوان آرگومان دوم خود می پذیرد. اگر مقدار ارائه شده به عنوان اولین آرگومان تهی نباشد، بسته شدن فراخوانی می شود:
return optional(User::find($id), function ($user) { return new DummyUser;});
policy()
متد
policy
یک نمونه
سیاست
را برای یک کلاس مشخص بازیابی می کند:
$policy = policy(App\User::class);
redirect()
تابع یک
پاسخ HTTP ریدایرکت را
redirect
برمیگرداند
، یا اگر بدون آرگومان فراخوانی شود، نمونه redirector را برمیگرداند:
return redirect($to = null, $status = 302, $headers = [], $secure = null); return redirect('/home'); return redirect()->route('route.name');
report()
تابع با استفاده از
روش
کنترل کننده استثنای
report
شما یک استثنا را گزارش می دهد
:
report
report($e);
request()
تابع نمونه
درخواست
request
فعلی را برمی گرداند
یا یک آیتم ورودی به دست می آورد:
$request = request(); $value = request('key', $default);
rescue()
تابع
rescue
بستن داده شده را اجرا می کند و هر استثنایی را که در حین اجرای آن رخ می دهد را می گیرد. تمام استثناهایی که دستگیر می شوند به روش کنترل
کننده
استثنا
شما ارسال می شوند
report
. با این حال، درخواست به پردازش ادامه خواهد داد:
return rescue(function () { return $this->method();});
همچنین می توانید آرگومان دوم را به
rescue
تابع ارسال کنید. این آرگومان مقدار "پیشفرض" خواهد بود که در صورت بروز استثنا در هنگام اجرای Closure باید برگردانده شود:
return rescue(function () { return $this->method();}, false); return rescue(function () { return $this->method();}, function () { return $this->failure();});
resolve()
تابع یک کلاس یا نام واسط معین را با استفاده از
کانتینر سرویس
resolve
به نمونه خود حل می کند
:
$api = resolve('HelpSpot\API');
response()
تابع
response
یک نمونه
پاسخ
ایجاد می کند یا نمونه ای از کارخانه پاسخ را به دست می آورد:
return response('Hello World', 200, $headers); return response()->json(['foo' => 'bar'], 200, $headers);
retry()
تابع
retry
تلاش می کند تا زمانی که آستانه حداکثر تلاش داده شده برآورده شود، پاسخ تماس داده شده را اجرا کند. اگر فراخوانی استثنایی ایجاد نکند، مقدار بازگشتی آن برگردانده خواهد شد. اگر پاسخ تماس یک استثنا ایجاد کند، به طور خودکار دوباره امتحان می شود. اگر از حداکثر تعداد تلاش فراتر رود، استثنا ایجاد می شود:
return retry(5, function () { // Attempt 5 times while resting 100ms in between attempts...}, 100);
session()
این
session
تابع ممکن است برای دریافت یا تنظیم
مقادیر
جلسه استفاده شود:
$value = session('key');
شما می توانید مقادیر را با ارسال یک آرایه از جفت کلید / مقدار به تابع تنظیم کنید:
session(['chairs' => 7, 'instruments' => 3]);
اگر مقداری به تابع ارسال نشود، Session Store برگردانده خواهد شد:
$value = session()->get('key'); session()->put('key', $value);
tap()
این
tap
تابع دو آرگومان را می پذیرد: یک آرگومان دلخواه
$value
و یک آرگومان بسته.
$value
به Closure منتقل می شود و سپس توسط تابع برگردانده می
شود
tap
. مقدار بازگشتی بسته شدن نامربوط است:
$user = tap(User::first(), function ($user) { $user->name = 'taylor'; $user->save();});
اگر هیچ Closure به تابع ارسال نشد
tap
، میتوانید هر روشی را در دادهشده فراخوانی کنید
$value
. مقدار برگشتی متدی که فراخوانی می کنید همیشه خواهد بود
$value
، صرف نظر از اینکه متد در تعریف خود چه چیزی را واقعاً برمی گرداند. برای مثال، روش Eloquent
update
به طور معمول یک عدد صحیح را برمی گرداند. با این حال، میتوانیم متد را مجبور کنیم تا با زنجیر کردن
update
فراخوانی متد از طریق
tap
تابع، خود مدل را برگرداند:
$user = tap($user)->update([ 'name' => $name, 'email' => $email,]);
برای افزودن یک
tap
متد به یک کلاس، میتوانید
Illuminate\Support\Traits\Tappable
ویژگی را به کلاس اضافه کنید. روش
tap
این خصیصه یک Close را به عنوان تنها استدلال خود می پذیرد. خود نمونه شی به Closure ارسال می شود و سپس با
tap
روش زیر برگردانده می شود:
return $user->tap(function ($user) { //});
throw_if()
throw_if
اگر یک عبارت بولی داده شده به صورت زیر ارزیابی شود، تابع استثنای داده شده را پرتاب می
کند
true
:
throw_if(! Auth::user()->isAdmin(), AuthorizationException::class); throw_if( ! Auth::user()->isAdmin(), AuthorizationException::class, 'You are not allowed to access this page');
throw_unless()
throw_unless
اگر یک عبارت بولی داده شده به صورت زیر ارزیابی شود، تابع استثنای داده شده را پرتاب می
کند
false
:
throw_unless(Auth::user()->isAdmin(), AuthorizationException::class); throw_unless( Auth::user()->isAdmin(), AuthorizationException::class, 'You are not allowed to access this page');
today()
تابع
today
یک نمونه جدید
Illuminate\Support\Carbon
برای تاریخ جاری ایجاد می کند:
$today = today();
trait_uses_recursive()
تابع
trait_uses_recursive
تمام صفات استفاده شده توسط یک صفت را برمی گرداند:
$traits = trait_uses_recursive(\Illuminate\Notifications\Notifiable::class);
transform()
اگر مقدار آن
خالی
نباشد تابع
transform
a را روی یک مقدار داده شده اجرا می کند
و نتیجه
:
Closure
Closure
$callback = function ($value) { return $value * 2;}; $result = transform(5, $callback); // 10
یک مقدار پیش فرض یا
Closure
ممکن است به عنوان پارامتر سوم به متد ارسال شود. اگر مقدار داده شده خالی باشد، این مقدار برگردانده می شود:
$result = transform(null, $callback, 'The value is blank'); // The value is blank
validator()
تابع
با آرگومان های داده شده یک نمونه
اعتبار سنج
validator
جدید ایجاد می کند . برای راحتی
می توانید از آن به جای
نما استفاده کنید:
Validator
$validator = validator($data, $rules, $messages);
value()
تابع
value
مقدار داده شده را برمی گرداند. با این حال، اگر a را
Closure
به تابع
ارسال کنید ،
Closure
اجرا می شود و نتیجه آن برگردانده می شود:
$result = value(true); // true $result = value(function () { return false;}); // false
view()
تابع
view
یک نمونه
view را
بازیابی می کند :
return view('auth.login');
with()
تابع
with
مقدار داده شده را برمی گرداند. اگر a
Closure
به عنوان آرگومان دوم به تابع ارسال شود،
Closure
اجرا می شود و نتیجه آن برگردانده می شود:
$callback = function ($value) { return (is_numeric($value)) ? $value * 2 : 0;}; $result = with(5, $callback); // 10 $result = with(null, $callback); // 0 $result = with(5, null); // 5