نسخه:

یاوران

معرفی

لاراول شامل انواع مختلفی از توابع جهانی "کمک کننده" PHP است. بسیاری از این توابع توسط خود چارچوب استفاده می شود. با این حال، شما آزاد هستید که از آنها در برنامه های کاربردی خود استفاده کنید اگر آنها را راحت می دانید.

روش های موجود

آرایه ها و اشیاء

راه ها

رشته های

رشته های روان

URL ها

متفرقه

فهرست روش

آرایه ها و اشیاء

Arr::accessible()

این Arr::accessible روش بررسی می کند که مقدار داده شده در دسترس آرایه باشد:

use Illuminate\Support\Arr;
use Illuminate\Support\Collection;
 
$isAccessible = Arr::accessible(['a' => 1, 'b' => 2]);
 
// true
 
$isAccessible = Arr::accessible(new Collection);
 
// true
 
$isAccessible = Arr::accessible('abc');
 
// false
 
$isAccessible = Arr::accessible(new stdClass);
 
// false

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::exists()

متد Arr::exists بررسی می کند که کلید داده شده در آرایه ارائه شده وجود داشته باشد:

use Illuminate\Support\Arr;
 
$array = ['name' => 'John Doe', 'age' => 17];
 
$exists = Arr::exists($array, 'name');
 
// true
 
$exists = Arr::exists($array, 'salary');
 
// false

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::hasAny()

این Arr::hasAny روش بررسی می‌کند که آیا هر آیتمی در یک مجموعه داده شده در یک آرایه با استفاده از نماد "نقطه" وجود دارد یا خیر:

use Illuminate\Support\Arr;
 
$array = ['product' => ['name' => 'Desk', 'price' => 100]];
 
$contains = Arr::hasAny($array, 'product.name');
 
// true
 
$contains = Arr::hasAny($array, ['product.name', 'product.discount']);
 
// true
 
$contains = Arr::hasAny($array, ['category', '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::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::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::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>');
 
// &lt;html&gt;foo&lt;/html&gt;

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::ascii()

این Str::ascii روش تلاش خواهد کرد تا رشته را به یک مقدار ASCII تبدیل کند:

use Illuminate\Support\Str;
 
$slice = Str::ascii('û');
 
// 'u'

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::between()

متد Str::between بخشی از یک رشته را بین دو مقدار برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::between('This is my name', 'This', 'name');
 
// ' is my '

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::isAscii()

این Str::isAscii روش تعیین می کند که آیا یک رشته داده شده ASCII 7 بیتی است یا خیر:

use Illuminate\Support\Str;
 
$isAscii = Str::isAscii('Taylor');
 
// true
 
$isAscii = Str::isAscii('ü');
 
// false

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::length()

متد Str::length طول رشته داده شده را برمی گرداند:

use Illuminate\Support\Str;
 
$length = Str::length('Laravel');
 
// 7

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::lower()

متد Str::lower رشته داده شده را به حروف کوچک تبدیل می کند:

use Illuminate\Support\Str;
 
$converted = Str::lower('LARAVEL');
 
// laravel

Str::orderedUuid()

این Str::orderedUuid روش یک UUID "مهر زمانی" تولید می کند که ممکن است به طور موثر در یک ستون پایگاه داده نمایه شده ذخیره شود:

use Illuminate\Support\Str;
 
return (string) Str::orderedUuid();

Str::padBoth()

این Str::padBoth متد تابع PHP را پیچیده می‌کند str_pad و هر دو طرف یک رشته را با رشته دیگری اضافه می‌کند:

use Illuminate\Support\Str;
 
$padded = Str::padBoth('James', 10, '_');
 
// '__James___'
 
$padded = Str::padBoth('James', 10);
 
// ' James '

Str::padLeft()

این Str::padLeft متد تابع PHP را پیچیده می‌کند str_pad و سمت چپ یک رشته را با رشته دیگری اضافه می‌کند:

use Illuminate\Support\Str;
 
$padded = Str::padLeft('James', 10, '-=');
 
// '-=-=-James'
 
$padded = Str::padLeft('James', 10);
 
// ' James'

Str::padRight()

این Str::padRight متد تابع PHP را پیچیده می‌کند str_pad و سمت راست یک رشته را با رشته دیگری اضافه می‌کند:

use Illuminate\Support\Str;
 
$padded = Str::padRight('James', 10, '-');
 
// 'James-----'
 
$padded = Str::padRight('James', 10);
 
// 'James '

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::substr()

متد Str::substr بخشی از رشته را که توسط پارامترهای start و length مشخص شده است برمی گرداند:

use Illuminate\Support\Str;
 
$converted = Str::substr('The Laravel Framework', 4, 7);
 
// Laravel

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::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::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

رشته های روان

رشته های روان یک رابط شی گراتر و روان تر برای کار با مقادیر رشته ارائه می کنند و به شما این امکان را می دهند که چندین عملیات رشته را با استفاده از یک نحو خواناتر در مقایسه با عملیات رشته سنتی زنجیره ای کنید.

after

متد after همه چیز را بعد از مقدار داده شده در یک رشته برمی گرداند. اگر مقدار درون رشته وجود نداشته باشد، کل رشته برگردانده خواهد شد:

use Illuminate\Support\Str;
 
$slice = Str::of('This is my name')->after('This is');
 
// ' my name'

afterLast

متد afterLast همه چیز را پس از آخرین وقوع مقدار داده شده در یک رشته برمی گرداند. اگر مقدار درون رشته وجود نداشته باشد، کل رشته برگردانده خواهد شد:

use Illuminate\Support\Str;
 
$slice = Str::of('App\Http\Controllers\Controller')->afterLast('\\');
 
// 'Controller'

append

متد append مقادیر داده شده را به رشته اضافه می کند:

use Illuminate\Support\Str;
 
$string = Str::of('Taylor')->append(' Otwell');
 
// 'Taylor Otwell'

ascii

این ascii روش تلاش خواهد کرد تا رشته را به یک مقدار ASCII تبدیل کند:

use Illuminate\Support\Str;
 
$string = Str::of('ü')->ascii();
 
// 'u'

basename

متد basename مولفه نام انتهایی رشته داده شده را برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('/foo/bar/baz')->basename();
 
// 'baz'

در صورت نیاز، می‌توانید یک «افزونه» ارائه دهید که از مؤلفه انتهایی حذف می‌شود:

use Illuminate\Support\Str;
 
$string = Str::of('/foo/bar/baz.jpg')->basename('.jpg');
 
// 'baz'

before

متد before همه چیز را قبل از مقدار داده شده در یک رشته برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::of('This is my name')->before('my name');
 
// 'This is '

beforeLast

متد beforeLast همه چیز را قبل از آخرین وقوع مقدار داده شده در یک رشته برمی گرداند:

use Illuminate\Support\Str;
 
$slice = Str::of('This is my name')->beforeLast('is');
 
// 'This '

camel

متد camel رشته داده شده را به camelCase :

use Illuminate\Support\Str;
 
$converted = Str::of('foo_bar')->camel();
 
// fooBar

contains

این contains روش تعیین می کند که آیا رشته داده شده حاوی مقدار داده شده است (حساس به حروف کوچک و بزرگ):

use Illuminate\Support\Str;
 
$contains = Str::of('This is my name')->contains('my');
 
// true

همچنین می‌توانید آرایه‌ای از مقادیر را برای تعیین اینکه آیا رشته داده شده حاوی هر یک از مقادیر است، ارسال کنید:

use Illuminate\Support\Str;
 
$contains = Str::of('This is my name')->contains(['my', 'foo']);
 
// true

containsAll

متد containsAll تعیین می کند که آیا رشته داده شده حاوی تمام مقادیر آرایه است یا خیر:

use Illuminate\Support\Str;
 
$containsAll = Str::of('This is my name')->containsAll(['my', 'name']);
 
// true

dirname

متد dirname قسمت دایرکتوری والد رشته داده شده را برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('/foo/bar/baz')->dirname();
 
// '/foo/bar'

به صورت اختیاری، می توانید تعیین کنید که چند سطح دایرکتوری را می خواهید از رشته برش دهید:

use Illuminate\Support\Str;
 
$string = Str::of('/foo/bar/baz')->dirname(2);
 
// '/foo'

endsWith

متد endsWith تعیین می کند که آیا رشته داده شده با مقدار داده شده به پایان می رسد:

use Illuminate\Support\Str;
 
$result = Str::of('This is my name')->endsWith('name');
 
// true

همچنین می‌توانید آرایه‌ای از مقادیر را برای تعیین اینکه آیا رشته داده شده به هر یک از مقادیر داده شده ختم می‌شود ارسال کنید:

use Illuminate\Support\Str;
 
$result = Str::of('This is my name')->endsWith(['name', 'foo']);
 
// true
 
$result = Str::of('This is my name')->endsWith(['this', 'foo']);
 
// false

exactly

این exactly روش تعیین می کند که آیا رشته داده شده با رشته دیگری مطابقت دارد یا خیر:

use Illuminate\Support\Str;
 
$result = Str::of('Laravel')->exactly('Laravel');
 
// true

explode

متد explode رشته را با جداکننده داده شده تقسیم می کند و مجموعه ای حاوی هر بخش از رشته تقسیم را برمی گرداند:

use Illuminate\Support\Str;
 
$collection = Str::of('foo bar baz')->explode(' ');
 
// collect(['foo', 'bar', 'baz'])

finish

این finish متد یک نمونه از مقدار داده شده را به یک رشته اضافه می کند اگر قبلاً به مقدار ختم نشده باشد:

use Illuminate\Support\Str;
 
$adjusted = Str::of('this/string')->finish('/');
 
// this/string/
 
$adjusted = Str::of('this/string/')->finish('/');
 
// this/string/

is

این is روش تعیین می کند که آیا یک رشته داده شده با یک الگوی داده شده مطابقت دارد یا خیر. از ستاره ها می توان برای نشان دادن حروف عام استفاده کرد:

use Illuminate\Support\Str;
 
$matches = Str::of('foobar')->is('foo*');
 
// true
 
$matches = Str::of('foobar')->is('baz*');
 
// false

isAscii

این isAscii روش تعیین می کند که آیا یک رشته داده شده یک رشته ASCII است:

use Illuminate\Support\Str;
 
$result = Str::of('Taylor')->isAscii();
 
// true
 
$result = Str::of('ü')->isAscii();
 
// false

isEmpty

متد isEmpty مشخص می کند که آیا رشته داده شده خالی است:

use Illuminate\Support\Str;
 
$result = Str::of(' ')->trim()->isEmpty();
 
// true
 
$result = Str::of('Laravel')->trim()->isEmpty();
 
// false

isNotEmpty

متد isNotEmpty تعیین می کند که آیا رشته داده شده خالی نباشد:

use Illuminate\Support\Str;
 
$result = Str::of(' ')->trim()->isNotEmpty();
 
// false
 
$result = Str::of('Laravel')->trim()->isNotEmpty();
 
// true

kebab

متد kebab رشته داده شده را به kebab-case :

use Illuminate\Support\Str;
 
$converted = Str::of('fooBar')->kebab();
 
// foo-bar

length

متد length طول رشته داده شده را برمی گرداند:

use Illuminate\Support\Str;
 
$length = Str::of('Laravel')->length();
 
// 7

limit

متد limit رشته داده شده را در طول مشخص شده کوتاه می کند:

use Illuminate\Support\Str;
 
$truncated = Str::of('The quick brown fox jumps over the lazy dog')->limit(20);
 
// The quick brown fox...

همچنین می توانید یک آرگومان دوم را برای تغییر رشته ای که به انتها اضافه می شود ارسال کنید:

use Illuminate\Support\Str;
 
$truncated = Str::of('The quick brown fox jumps over the lazy dog')->limit(20, ' (...)');
 
// The quick brown fox (...)

lower

متد lower رشته داده شده را به حروف کوچک تبدیل می کند:

use Illuminate\Support\Str;
 
$result = Str::of('LARAVEL')->lower();
 
// 'laravel'

ltrim

روش ltrim سمت چپ رشته داده شده را برش می دهد:

use Illuminate\Support\Str;
 
$string = Str::of(' Laravel ')->ltrim();
 
// 'Laravel '
 
$string = Str::of('/Laravel/')->ltrim('/');
 
// 'Laravel/'

match

متد match بخشی از یک رشته را برمی گرداند که با الگوی عبارت منظم داده شده مطابقت دارد:

use Illuminate\Support\Str;
 
$result = Str::of('foo bar')->match('/bar/');
 
// 'bar'
 
$result = Str::of('foo bar')->match('/foo (.*)/');
 
// 'bar'

matchAll

این matchAll متد مجموعه‌ای حاوی بخش‌هایی از یک رشته را برمی‌گرداند که با الگوی عبارت منظم داده شده مطابقت دارد:

use Illuminate\Support\Str;
 
$result = Str::of('bar foo bar')->matchAll('/bar/');
 
// collect(['bar', 'bar'])

اگر یک گروه منطبق را در عبارت مشخص کنید، لاراول مجموعه ای از مطابقت های آن گروه را برمی گرداند:

use Illuminate\Support\Str;
 
$result = Str::of('bar fun bar fly')->matchAll('/f(\w*)/');
 
// collect(['un', 'ly']);

اگر هیچ منطبقی پیدا نشد، یک مجموعه خالی برگردانده خواهد شد.

padBoth

این padBoth متد تابع PHP را پیچیده می‌کند str_pad و هر دو طرف یک رشته را با رشته دیگری اضافه می‌کند:

use Illuminate\Support\Str;
 
$padded = Str::of('James')->padBoth(10, '_');
 
// '__James___'
 
$padded = Str::of('James')->padBoth(10);
 
// ' James '

padLeft

این padLeft متد تابع PHP را پیچیده می‌کند str_pad و سمت چپ یک رشته را با رشته دیگری اضافه می‌کند:

use Illuminate\Support\Str;
 
$padded = Str::of('James')->padLeft(10, '-=');
 
// '-=-=-James'
 
$padded = Str::of('James')->padLeft(10);
 
// ' James'

padRight

این padRight متد تابع PHP را پیچیده می‌کند str_pad و سمت راست یک رشته را با رشته دیگری اضافه می‌کند:

use Illuminate\Support\Str;
 
$padded = Str::of('James')->padRight(10, '-');
 
// 'James-----'
 
$padded = Str::of('James')->padRight(10);
 
// 'James '

plural

این plural روش یک رشته کلمه واحد را به شکل جمع آن تبدیل می کند. این تابع در حال حاضر فقط از زبان انگلیسی پشتیبانی می کند:

use Illuminate\Support\Str;
 
$plural = Str::of('car')->plural();
 
// cars
 
$plural = Str::of('child')->plural();
 
// children

می توانید یک عدد صحیح به عنوان آرگومان دوم برای تابع برای بازیابی شکل مفرد یا جمع رشته ارائه دهید:

use Illuminate\Support\Str;
 
$plural = Str::of('child')->plural(2);
 
// children
 
$plural = Str::of('child')->plural(1);
 
// child

prepend

متد prepend مقادیر داده شده را به رشته اضافه می کند:

use Illuminate\Support\Str;
 
$string = Str::of('Framework')->prepend('Laravel ');
 
// Laravel Framework

replace

متد replace یک رشته داده شده را در رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::of('Laravel 6.x')->replace('6.x', '7.x');
 
// Laravel 7.x

replaceArray

این replaceArray روش با استفاده از یک آرایه، مقدار داده شده را در رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$string = 'The event will take place between ? and ?';
 
$replaced = Str::of($string)->replaceArray('?', ['8:30', '9:00']);
 
// The event will take place between 8:30 and 9:00

replaceFirst

متد replaceFirst اولین وقوع یک مقدار داده شده را در یک رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::of('the quick brown fox jumps over the lazy dog')->replaceFirst('the', 'a');
 
// a quick brown fox jumps over the lazy dog

replaceLast

متد replaceLast آخرین وقوع یک مقدار داده شده را در یک رشته جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::of('the quick brown fox jumps over the lazy dog')->replaceLast('the', 'a');
 
// the quick brown fox jumps over a lazy dog

replaceMatches

این replaceMatches روش تمام بخش های یک رشته را که با یک الگوی داده شده مطابقت دارند با رشته جایگزین داده شده جایگزین می کند:

use Illuminate\Support\Str;
 
$replaced = Str::of('(+1) 501-555-1000')->replaceMatches('/[^A-Za-z0-9]++/', '')
 
// '15015551000'

این replaceMatches متد همچنین یک Closure را می‌پذیرد که با هر بخش از رشته مطابق با طرف داده شده فراخوانی می‌شود و به شما امکان می‌دهد منطق جایگزینی را در Closure انجام دهید و مقدار جایگزین شده را برگردانید:

use Illuminate\Support\Str;
 
$replaced = Str::of('123')->replaceMatches('/\d/', function ($match) {
return '['.$match[0].']';
});
 
// '[1][2][3]'

rtrim

متد rtrim سمت راست رشته داده شده را برش می دهد:

use Illuminate\Support\Str;
 
$string = Str::of(' Laravel ')->rtrim();
 
// ' Laravel'
 
$string = Str::of('/Laravel/')->rtrim('/');
 
// '/Laravel'

singular

این singular روش یک رشته را به شکل تکی آن تبدیل می کند. این تابع در حال حاضر فقط از زبان انگلیسی پشتیبانی می کند:

use Illuminate\Support\Str;
 
$singular = Str::of('cars')->singular();
 
// car
 
$singular = Str::of('children')->singular();
 
// child

slug

این slug روش یک URL دوستدار "slug" از رشته داده شده ایجاد می کند:

use Illuminate\Support\Str;
 
$slug = Str::of('Laravel Framework')->slug('-');
 
// laravel-framework

snake

متد snake رشته داده شده را به snake_case :

use Illuminate\Support\Str;
 
$converted = Str::of('fooBar')->snake();
 
// foo_bar

split

این split روش یک رشته را با استفاده از یک عبارت منظم به یک مجموعه تقسیم می کند:

use Illuminate\Support\Str;
 
$segments = Str::of('one, two, three')->split('/[\s,]+/');
 
// collect(["one", "two", "three"])

start

این start متد یک نمونه از مقدار داده شده را به یک رشته اضافه می کند اگر از قبل با مقدار شروع نشده باشد:

use Illuminate\Support\Str;
 
$adjusted = Str::of('this/string')->start('/');
 
// /this/string
 
$adjusted = Str::of('/this/string')->start('/');
 
// /this/string

startsWith

متد startsWith تعیین می کند که آیا رشته داده شده با مقدار داده شده شروع می شود:

use Illuminate\Support\Str;
 
$result = Str::of('This is my name')->startsWith('This');
 
// true

studly

متد studly رشته داده شده را به StudlyCase :

use Illuminate\Support\Str;
 
$converted = Str::of('foo_bar')->studly();
 
// FooBar

substr

متد substr بخشی از رشته را که توسط پارامترهای شروع و طول مشخص شده برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('Laravel Framework')->substr(8);
 
// Framework
 
$string = Str::of('Laravel Framework')->substr(8, 5);
 
// Frame

title

متد title رشته داده شده را به Title Case :

use Illuminate\Support\Str;
 
$converted = Str::of('a nice title uses the correct case')->title();
 
// A Nice Title Uses The Correct Case

trim

متد trim رشته داده شده را برش می دهد:

use Illuminate\Support\Str;
 
$string = Str::of(' Laravel ')->trim();
 
// 'Laravel'
 
$string = Str::of('/Laravel/')->trim('/');
 
// 'Laravel'

ucfirst

متد ucfirst رشته داده شده را با حروف بزرگ برمی گرداند:

use Illuminate\Support\Str;
 
$string = Str::of('foo bar')->ucfirst();
 
// Foo bar

upper

متد upper رشته داده شده را به حروف بزرگ تبدیل می کند:

use Illuminate\Support\Str;
 
$adjusted = Str::of('laravel')->upper();
 
// LARAVEL

when

در صورتی که یک شرط معین درست باشد، این when روش بسته شدن داده شده را فراخوانی می کند. Closure نمونه رشته روان را دریافت می کند:

use Illuminate\Support\Str;
 
$string = Str::of('Taylor')
->when(true, function ($string) {
return $string->append(' Otwell');
});
 
// 'Taylor Otwell'

در صورت لزوم، می توانید Closure دیگری را به عنوان پارامتر سوم به when روش ارسال کنید. این بستن در صورتی اجرا می شود که پارامتر شرط به false .

whenEmpty

whenEmpty اگر رشته خالی باشد، این متد بسته شدن داده شده را فراخوانی می کند. اگر Closure مقداری را برمی گرداند، آن مقدار نیز با whenEmpty روش برگردانده می شود. اگر Closure مقداری را برنگرداند، نمونه رشته روان برگردانده خواهد شد:

use Illuminate\Support\Str;
 
$string = Str::of(' ')->whenEmpty(function ($string) {
return $string->trim()->prepend('Laravel');
});
 
// 'Laravel'

words

این words روش تعداد کلمات یک رشته را محدود می کند:

use Illuminate\Support\Str;
 
$string = Str::of('Perfectly balanced, as all things should be.')->words(3, ' >>>');
 
// Perfectly balanced, as >>>

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('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 به جای آن از تابع استفاده کنید.

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 به جای آن از تابع استفاده کنید.

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()

The report function will report an exception using your exception handler's report method:

report($e);

request()

The request function returns the current request instance or obtains an input item:

$request = request();
 
$value = request('key', $default);

rescue()

The rescue function executes the given Closure and catches any exceptions that occur during its execution. All exceptions that are caught will be sent to your exception handler's report method; however, the request will continue processing:

return rescue(function () {
return $this->method();
});

You may also pass a second argument to the rescue function. This argument will be the "default" value that should be returned if an exception occurs while executing the Closure:

return rescue(function () {
return $this->method();
}, false);
 
return rescue(function () {
return $this->method();
}, function () {
return $this->failure();
});

resolve()

The resolve function resolves a given class or interface name to its instance using the service container:

$api = resolve('HelpSpot\API');

response()

The response function creates a response instance or obtains an instance of the response factory:

return response('Hello World', 200, $headers);
 
return response()->json(['foo' => 'bar'], 200, $headers);

retry()

The retry function attempts to execute the given callback until the given maximum attempt threshold is met. If the callback does not throw an exception, its return value will be returned. If the callback throws an exception, it will automatically be retried. If the maximum attempt count is exceeded, the exception will be thrown:

return retry(5, function () {
// Attempt 5 times while resting 100ms in between attempts...
}, 100);

session()

The session function may be used to get or set session values:

$value = session('key');

You may set values by passing an array of key / value pairs to the function:

session(['chairs' => 7, 'instruments' => 3]);

The session store will be returned if no value is passed to the function:

$value = session()->get('key');
 
session()->put('key', $value);

tap()

The tap function accepts two arguments: an arbitrary $value and a Closure. The $value will be passed to the Closure and then be returned by the tap function. The return value of the Closure is irrelevant:

$user = tap(User::first(), function ($user) {
$user->name = 'taylor';
 
$user->save();
});

If no Closure is passed to the tap function, you may call any method on the given $value. The return value of the method you call will always be $value, regardless of what the method actually returns in its definition. For example, the Eloquent update method typically returns an integer. However, we can force the method to return the model itself by chaining the update method call through the tap function:

$user = tap($user)->update([
'name' => $name,
'email' => $email,
]);

To add a tap method to a class, you may add the Illuminate\Support\Traits\Tappable trait to the class. The tap method of this trait accepts a Closure as its only argument. The object instance itself will be passed to the Closure and then be returned by the tap method:

return $user->tap(function ($user) {
//
});

throw_if()

The throw_if function throws the given exception if a given boolean expression evaluates to 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()

The throw_unless function throws the given exception if a given boolean expression evaluates to false:

throw_unless(Auth::user()->isAdmin(), AuthorizationException::class);
 
throw_unless(
Auth::user()->isAdmin(),
AuthorizationException::class,
'You are not allowed to access this page'
);

today()

The today function creates a new Illuminate\Support\Carbon instance for the current date:

$today = today();

trait_uses_recursive()

The trait_uses_recursive function returns all traits used by a trait:

$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 مقدار داده شده را برمی گرداند. Closure با این حال، اگر a را به تابع ارسال کنید ، 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