Версія фреймворка: 8.x

Помічники

Вступ

Laravel включає різноманітні глобальні «допоміжні» функції PHP. Багато з цих функцій використовуються самою структурою; однак ви можете вільно використовувати їх у власних програмах, якщо вважаєте, що це зручно.

Доступні методи

Масиви та об'єкти

Шляхи

Струни

Свободні струнні

URL-адреси

Різне

Перелік методів

Масиви та об'єкти

Arr::accessible(){# collection-method .first-collection-method}

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(){# collection-method}

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(){# collection-method}

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(){# collection-method}

Arr::crossJoinметод cross приєднує дані масиви, повертаючи декартовий добуток з усіма можливими перестановками:

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(){# collection-method}

Arr::divideметод повертає два масиви, один з яких містить ключі, а інший містить значення даного масиву:

use Illuminate\Support\Arr;

[$keys, $values] = Arr::divide(['name' => 'Desk']);

// $keys: ['name']

// $values: ['Desk']

Arr::dot(){# collection-method}

Arr::dotметод вирівнює багатовимірний масив в однорівневий масив, який використовує Tagging "точка" для Tagging глибини:

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

$flattened = Arr::dot($array);

// ['products.desk.price' => 100]

Arr::except(){# collection-method}

Arr::exceptметод видаляє дані маси ключ / значення з масиву:

use Illuminate\Support\Arr;

$array = ['name' => 'Desk', 'price' => 100];

$filtered = Arr::except($array, ['price']);

// ['name' => 'Desk']

Arr::exists(){# collection-method}

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(){# collection-method}

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(){# collection-method}

Arr::flattenметод вирівнює багатовимірний масив в однорівневий масив:

use Illuminate\Support\Arr;

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$flattened = Arr::flatten($array);

// ['Joe', 'PHP', 'Ruby']

Arr::forget(){# collection-method}

Arr::forgetметод видаляє дану пару ключ / значення з глибоко вкладеного масиву, використовуючи Tagging "точка":

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

Arr::forget($array, 'products.desk');

// ['products' => []]

Arr::get(){# collection-method}

Arr::getметод отримує значення з глибоко вкладеного масиву, використовуючи Tagging "точка":

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(){# collection-method}

Arr::hasметод перевіряє, чи існує певний елемент або елементи в масиві, використовуючи Tagging "крапка":

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(){# collection-method}

Arr::hasAnyметод перевіряє, чи існує будь-який елемент у даному наборі в масиві, використовуючи Tagging "крапка":

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(){# collection-method}

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(){# collection-method}

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(){# collection-method}

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(){# collection-method}

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(){# collection-method}

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(){# collection-method}

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(){# collection-method}

Arr::queryметод перетворює масив у рядок запиту:

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(){# collection-method}

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(){# collection-method}

Arr::setметод встановлює значення в глибоко вкладеному масиві, використовуючи Tagging "точка":

use Illuminate\Support\Arr;

$array = ['products' => ['desk' => ['price' => 100]]];

Arr::set($array, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 200]]]

Arr::shuffle(){# collection-method}

Arr::shuffleметод випадковим чином перемішує елементи в масиві:

use Illuminate\Support\Arr;

$array = Arr::shuffle([1, 2, 3, 4, 5]);

// [3, 2, 5, 1, 4] - (generated randomly)

Arr::sort(){# collection-method}

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(){# collection-method}

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(){# collection-method}

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(){# collection-method}

Arr::wrapметод обертає задане значення в масив. Якщо вказане значення вже є масивом, воно не буде змінено:

use Illuminate\Support\Arr;

$string = 'Laravel';

$array = Arr::wrap($string);

// ['Laravel']

Якщо вказане значення є нульовим, буде повернено порожній масив:

use Illuminate\Support\Arr;

$nothing = null;

$array = Arr::wrap($nothing);

// []

data_fill(){# collection-method}

data_fillфункція встановлює відсутні значення у вкладеному масиві або об'єкті, використовуючи Tagging "точка":

$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(){# collection-method}

data_getфункція отримує значення з вкладеного масиву або об'єкта за допомогою Tagging "точка":

$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(){# collection-method}

data_setфункція встановлює значення у вкладеному масиві або об'єкті, використовуючи Tagging "точка":

$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(){# collection-method}

headфункція повертає перший елемент у заданому масиві:

$array = [100, 200, 300];

$first = head($array);

// 100

last(){# collection-method}

lastфункція повертає останній елемент у даному масиві:

$array = [100, 200, 300];

$last = last($array);

// 300

Шляхи

app_path(){# collection-method}

app_pathповертає повністю кваліфікований шлях доappкаталог. Ви також можете використовуватиapp_pathфункція для створення повністю кваліфікованого шляху до файлу щодо каталогу додатків:

$path = app_path();

$path = app_path('Http/Controllers/Controller.php');

base_path(){# collection-method}

base_pathповертає повний шлях до кореня проекту. Ви також можете використовуватиbase_pathфункція для створення повноцінного шляху до заданого файлу щодо кореневого каталогу проекту:

$path = base_path();

$path = base_path('vendor/bin');

config_path(){# collection-method}

config_pathповертає повністю кваліфікований шлях доconfigкаталог. Ви також можете використовуватиconfig_pathфункція для створення повноцінного шляху до заданого файлу в каталозі конфігурації програми:

$path = config_path();

$path = config_path('app.php');

database_path(){# collection-method}

database_pathповертає повністю кваліфікований шлях доdatabaseкаталог. Ви також можете використовуватиdatabase_pathфункція для створення повноцінного шляху до заданого файлу в каталозі бази даних:

$path = database_path();

$path = database_path('factories/UserFactory.php');

mix(){# collection-method}

mixповертає шлях до aфайл версії Mix:

$path = mix('css/app.css');

public_path(){# collection-method}

public_pathповертає повністю кваліфікований шлях доpublicкаталог. Ви також можете використовуватиpublic_pathфункція для створення повноцінного шляху до заданого файлу в загальнодоступному каталозі:

$path = public_path();

$path = public_path('css/app.css');

resource_path(){# collection-method}

resource_pathповертає повністю кваліфікований шлях доresourcesкаталог. Ви також можете використовуватиresource_pathфункція для створення повноцінного шляху до заданого файлу в каталозі ресурсів:

$path = resource_path();

$path = resource_path('sass/app.scss');

storage_path(){# collection-method}

storage_pathповертає повністю кваліфікований шлях доstorageкаталог. Ви також можете використовуватиstorage_pathфункція для створення повноцінного шляху до заданого файлу в каталозі зберігання:

$path = storage_path();

$path = storage_path('app/file.txt');

Струни

__(){# collection-method}

__функція переводить заданий рядок перекладу або ключ перекладу за допомогою вашогофайли локалізації:

echo __('Welcome to our application');

echo __('messages.welcome');

Якщо вказаний рядок або ключ перекладу не існує, файл__функція поверне задане значення. Отже, використовуючи приклад вище, файл__функція повернетьсяmessages.welcomeякщо цей ключ перекладу не існує.

class_basename(){# collection-method}

class_basenameфункція повертає ім'я класу даного класу із видаленим простором імен класу:

$class = class_basename('Foo\Bar\Baz');

// Baz

e(){# collection-method}

eфункція запускає PHPhtmlspecialcharsфункція за допомогоюdouble_encodeпараметр встановлено наtrueза замовчуванням:

echo e('<html>foo</html>');

// &lt;html&gt;foo&lt;/html&gt;

preg_replace_array(){# collection-method}

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(){# collection-method}

Str::afterметод повертає все після заданого значення у рядку. Повернеться весь рядок, якщо значення не існує в рядку:

use Illuminate\Support\Str;

$slice = Str::after('This is my name', 'This is');

// ' my name'

Str::afterLast(){# collection-method}

Str::afterLastметод повертає все після останнього входження даного значення в рядок. Повернеться весь рядок, якщо значення не існує в рядку:

use Illuminate\Support\Str;

$slice = Str::afterLast('App\Http\Controllers\Controller', '\\');

// 'Controller'

Str::ascii(){# collection-method}

Str::asciiметод спробує транслітерувати рядок у значення ASCII:

use Illuminate\Support\Str;

$slice = Str::ascii('û');

// 'u'

Str::before(){# collection-method}

Str::beforeметод повертає все перед заданим значенням у рядку:

use Illuminate\Support\Str;

$slice = Str::before('This is my name', 'my name');

// 'This is '

Str::beforeLast(){# collection-method}

Str::beforeLastметод повертає все до останнього входження даного значення в рядок:

use Illuminate\Support\Str;

$slice = Str::beforeLast('This is my name', 'is');

// 'This '

Str::between(){# collection-method}

Str::betweenметод повертає частину рядка між двома значеннями:

use Illuminate\Support\Str;

$slice = Str::between('This is my name', 'This', 'name');

// ' is my '

Str::camel(){# collection-method}

Str::camelметод перетворює заданий рядок уcamelCase:

use Illuminate\Support\Str;

$converted = Str::camel('foo_bar');

// fooBar

Str::contains(){# collection-method}

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(){# collection-method}

Str::containsAllметод визначає, чи містить даний рядок усі значення масиву:

use Illuminate\Support\Str;

$containsAll = Str::containsAll('This is my name', ['my', 'name']);

// true

Str::endsWith(){# collection-method}

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(){# collection-method}

Str::finishметод додає один рядок даного значення до рядка, якщо він ще не закінчується значенням:

use Illuminate\Support\Str;

$adjusted = Str::finish('this/string', '/');

// this/string/

$adjusted = Str::finish('this/string/', '/');

// this/string/

Str::is(){# collection-method}

Str::isМетод визначає, чи відповідає даний рядок даному шаблону. Зірочками можна використовувати для Tagging підстановочних знаків:

use Illuminate\Support\Str;

$matches = Str::is('foo*', 'foobar');

// true

$matches = Str::is('baz*', 'foobar');

// false

Str::isAscii(){# collection-method}

Str::isAsciiметод визначає, чи є даний рядок 7-бітовим ASCII:

use Illuminate\Support\Str;

$isAscii = Str::isAscii('Taylor');

// true

$isAscii = Str::isAscii('ü');

// false

Str::isUuid(){# collection-method}

Str::isUuidметод визначає, чи вказаний рядок є дійсним UUID:

use Illuminate\Support\Str;

$isUuid = Str::isUuid('a0a2a2d2-0b87-4a18-83f2-2529882be2de');

// true

$isUuid = Str::isUuid('laravel');

// false

Str::kebab(){# collection-method}

Str::kebabметод перетворює заданий рядок уkebab-case:

use Illuminate\Support\Str;

$converted = Str::kebab('fooBar');

// foo-bar

Str::length(){# collection-method}

Str::lengthметод повертає довжину заданого рядка:

use Illuminate\Support\Str;

$length = Str::length('Laravel');

// 7

Str::limit(){# collection-method}

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(){# collection-method}

Str::lowerметод перетворює заданий рядок у нижній регістр:

use Illuminate\Support\Str;

$converted = Str::lower('LARAVEL');

// laravel

Str::orderedUuid(){# collection-method}

Str::orderedUuidметод генерує UUID "мітка часу", який може ефективно зберігатися в індексованому стовпці бази даних:

use Illuminate\Support\Str;

return (string) Str::orderedUuid();

Str::padBoth(){# collection-method}

Str::padBothметод обгортає PHPstr_padфункція, доповнюючи обидві сторони рядка іншою:

use Illuminate\Support\Str;

$padded = Str::padBoth('James', 10, '_');

// '__James___'

$padded = Str::padBoth('James', 10);

// '  James   '

Str::padLeft(){# collection-method}

Str::padLeftметод обгортає PHPstr_padфункція, доповнюючи ліву частину рядка іншою:

use Illuminate\Support\Str;

$padded = Str::padLeft('James', 10, '-=');

// '-=-=-James'

$padded = Str::padLeft('James', 10);

// '     James'

Str::padRight(){# collection-method}

Str::padRightметод обгортає PHPstr_padфункція, доповнюючи праву частину рядка іншою:

use Illuminate\Support\Str;

$padded = Str::padRight('James', 10, '-');

// 'James-----'

$padded = Str::padRight('James', 10);

// 'James     '

Str::plural(){# collection-method}

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(){# collection-method}

Str::randomметод генерує випадковий рядок вказаної довжини. Ця функція використовує PHPrandom_bytesфункція:

use Illuminate\Support\Str;

$random = Str::random(40);

Str::replaceArray(){# collection-method}

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(){# collection-method}

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(){# collection-method}

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(){# collection-method}

Str::singularметод перетворює рядок у форму однини. Наразі ця функція підтримує лише англійську мову:

use Illuminate\Support\Str;

$singular = Str::singular('cars');

// car

$singular = Str::singular('children');

// child

Str::slug(){# collection-method}

Str::slugметод генерує URL-адресу, що відповідає URL-адресам, із заданого рядка:

use Illuminate\Support\Str;

$slug = Str::slug('Laravel 5 Framework', '-');

// laravel-5-framework

Str::snake(){# collection-method}

Str::snakeметод перетворює заданий рядок уsnake_case:

use Illuminate\Support\Str;

$converted = Str::snake('fooBar');

// foo_bar

Str::start(){# collection-method}

Str::startметод додає один рядок даного значення до рядка, якщо він ще не починається зі значення:

use Illuminate\Support\Str;

$adjusted = Str::start('this/string', '/');

// /this/string

$adjusted = Str::start('/this/string', '/');

// /this/string

Str::startsWith(){# collection-method}

Str::startsWithметод визначає, чи заданий рядок починається з заданого значення:

use Illuminate\Support\Str;

$result = Str::startsWith('This is my name', 'This');

// true

Str::studly(){# collection-method}

Str::studlyметод перетворює заданий рядок уStudlyCase:

use Illuminate\Support\Str;

$converted = Str::studly('foo_bar');

// FooBar

Str::substr(){# collection-method}

Str::substrметод повертає частину рядка, задану параметрами початку і довжини:

use Illuminate\Support\Str;

$converted = Str::substr('The Laravel Framework', 4, 7);

// Laravel

Str::title(){# collection-method}

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(){# collection-method}

Str::ucfirstметод повертає заданий рядок з першим символом з великої літери:

use Illuminate\Support\Str;

$string = Str::ucfirst('foo bar');

// Foo bar

Str::upper(){# collection-method}

Str::upperметод перетворює заданий рядок у верхній регістр:

use Illuminate\Support\Str;

$string = Str::upper('laravel');

// LARAVEL

Str::uuid(){# collection-method}

Str::uuidметод генерує UUID (версія 4):

use Illuminate\Support\Str;

return (string) Str::uuid();

Str::words(){# collection-method}

Str::wordsметод обмежує кількість слів у рядку:

use Illuminate\Support\Str;

return Str::words('Perfectly balanced, as all things should be.', 3, ' >>>');

// Perfectly balanced, as >>>

trans(){# collection-method}

transфункція переводить даний ключ перекладу за допомогою вашогофайли локалізації:

echo trans('messages.welcome');

Якщо вказаний ключ перекладу не існує, файлtransфункція поверне заданий ключ. Отже, використовуючи приклад вище, файлtransфункція повернетьсяmessages.welcomeякщо ключ перекладу не існує.

trans_choice(){# collection-method}

trans_choiceфункція переводить даний ключ перекладу з флексією:

echo trans_choice('messages.notifications', $unreadCount);

Якщо вказаний ключ перекладу не існує, файлtrans_choiceфункція поверне заданий ключ. Отже, використовуючи приклад вище, файлtrans_choiceфункція повернетьсяmessages.notificationsякщо ключ перекладу не існує.

Свободні струнні

Свободні рядки забезпечують більш плавний, об'єктно-орієнтований інтерфейс для роботи зі значеннями рядків, що дозволяє зв'язати кілька операцій рядка разом, використовуючи більш читабельний синтаксис у порівнянні з традиційними рядковими операціями.

after{# collection-method}

afterметод повертає все після заданого значення у рядку. Повернеться весь рядок, якщо значення не існує в рядку:

use Illuminate\Support\Str;

$slice = Str::of('This is my name')->after('This is');

// ' my name'

afterLast{# collection-method}

afterLastметод повертає все після останнього входження даного значення в рядок. Повернеться весь рядок, якщо значення не існує в рядку:

use Illuminate\Support\Str;

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

// 'Controller'

append{# collection-method}

appendметод додає дані значення до рядка:

use Illuminate\Support\Str;

$string = Str::of('Taylor')->append(' Otwell');

// 'Taylor Otwell'

ascii{# collection-method}

asciiметод спробує транслітерувати рядок у значення ASCII:

use Illuminate\Support\Str;

$string = Str::of('ü')->ascii();

// 'u'

basename{# collection-method}

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{# collection-method}

beforeметод повертає все перед заданим значенням у рядку:

use Illuminate\Support\Str;

$slice = Str::of('This is my name')->before('my name');

// 'This is '

beforeLast{# collection-method}

beforeLastметод повертає все до останнього входження даного значення в рядок:

use Illuminate\Support\Str;

$slice = Str::of('This is my name')->beforeLast('is');

// 'This '

camel{# collection-method}

camelметод перетворює заданий рядок уcamelCase:

use Illuminate\Support\Str;

$converted = Str::of('foo_bar')->camel();

// fooBar

contains{# collection-method}

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{# collection-method}

containsAllметод визначає, чи містить даний рядок усі значення масиву:

use Illuminate\Support\Str;

$containsAll = Str::of('This is my name')->containsAll(['my', 'name']);

// true

dirname{# collection-method}

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{# collection-method}

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{# collection-method}

exactlyметод визначає, чи точно відповідає даний рядок іншому рядку:

use Illuminate\Support\Str;

$result = Str::of('Laravel')->exactly('Laravel');

// true

explode{# collection-method}

explodeметод розбиває рядок на заданий роздільник і повертає колекцію, що містить кожен розділ розділеного рядка:

use Illuminate\Support\Str;

$collection = Str::of('foo bar baz')->explode(' ');

// collect(['foo', 'bar', 'baz'])

finish{# collection-method}

finishметод додає один рядок даного значення до рядка, якщо він ще не закінчується значенням:

use Illuminate\Support\Str;

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

// this/string/

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

// this/string/

is{# collection-method}

isМетод визначає, чи відповідає даний рядок даному шаблону. Зірочками можна використовувати для Tagging підстановочних знаків:

use Illuminate\Support\Str;

$matches = Str::of('foobar')->is('foo*');

// true

$matches = Str::of('foobar')->is('baz*');

// false

isAscii{# collection-method}

isAsciiметод визначає, чи вказаний рядок є рядком ASCII:

use Illuminate\Support\Str;

$result = Str::of('Taylor')->isAscii();

// true

$result = Str::of('ü')->isAscii();

// false

isEmpty{# collection-method}

isEmptyметод визначає, чи вказаний рядок порожній:

use Illuminate\Support\Str;

$result = Str::of('  ')->trim()->isEmpty();

// true

$result = Str::of('Laravel')->trim()->isEmpty();

// false

isNotEmpty{# collection-method}

isNotEmptyметод визначає, чи не вказаний рядок порожнім:

use Illuminate\Support\Str;

$result = Str::of('  ')->trim()->isNotEmpty();

// false

$result = Str::of('Laravel')->trim()->isNotEmpty();

// true

kebab{# collection-method}

kebabметод перетворює заданий рядок уkebab-case:

use Illuminate\Support\Str;

$converted = Str::of('fooBar')->kebab();

// foo-bar

length{# collection-method}

lengthметод повертає довжину заданого рядка:

use Illuminate\Support\Str;

$length = Str::of('Laravel')->length();

// 7

limit{# collection-method}

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{# collection-method}

lowerметод перетворює заданий рядок у нижній регістр:

use Illuminate\Support\Str;

$result = Str::of('LARAVEL')->lower();

// 'laravel'

ltrim{# collection-method}

ltrimметод залишив обрізання заданого рядка:

use Illuminate\Support\Str;

$string = Str::of('  Laravel  ')->ltrim();

// 'Laravel  '

$string = Str::of('/Laravel/')->ltrim('/');

// 'Laravel/'

match{# collection-method}

matchметод поверне частину рядка, яка відповідає заданому шаблону регулярного виразу:

use Illuminate\Support\Str;

$result = Str::of('foo bar')->match('/bar/');

// 'bar'

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

// 'bar'

matchAll{# collection-method}

matchAllметод поверне колекцію, що містить частини рядка, що відповідають заданому шаблону регулярних виразів:

use Illuminate\Support\Str;

$result = Str::of('bar foo bar')->matchAll('/bar/');

// collect(['bar', 'bar'])

Якщо ви вказали відповідну групу у виразі, Laravel поверне колекцію збігів цієї групи:

use Illuminate\Support\Str;

$result = Str::of('bar fun bar fly')->matchAll('/f(\w*)/');

// collect(['un', 'ly']);

Якщо збігів не знайдено, буде повернуто порожню колекцію.

padBoth{# collection-method}

padBothметод обгортає PHPstr_padфункція, доповнюючи обидві сторони рядка іншою:

use Illuminate\Support\Str;

$padded = Str::of('James')->padBoth(10, '_');

// '__James___'

$padded = Str::of('James')->padBoth(10);

// '  James   '

padLeft{# collection-method}

padLeftметод обгортає PHPstr_padфункція, доповнюючи ліву частину рядка іншою:

use Illuminate\Support\Str;

$padded = Str::of('James')->padLeft(10, '-=');

// '-=-=-James'

$padded = Str::of('James')->padLeft(10);

// '     James'

padRight{# collection-method}

padRightметод обгортає PHPstr_padфункція, доповнюючи праву частину рядка іншою:

use Illuminate\Support\Str;

$padded = Str::of('James')->padRight(10, '-');

// 'James-----'

$padded = Str::of('James')->padRight(10);

// 'James     '

plural{# collection-method}

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{# collection-method}

prependметод додає дані значення до рядка:

use Illuminate\Support\Str;

$string = Str::of('Framework')->prepend('Laravel ');

// Laravel Framework

replace{# collection-method}

replaceметод замінює заданий рядок у рядку:

use Illuminate\Support\Str;

$replaced = Str::of('Laravel 6.x')->replace('6.x', '7.x');

// Laravel 7.x

replaceArray{# collection-method}

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{# collection-method}

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{# collection-method}

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{# collection-method}

replaceMatchesметод замінює всі частини рядка, що відповідають заданому шаблону, даним рядком заміни:

use Illuminate\Support\Str;

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

// '15015551000'

replaceMatchesметод також приймає Закриття, яке буде викликано з кожною частиною рядка, що відповідає даній стороні, що дозволяє виконати логіку заміни в межах Закриття та повернути замінене значення:

use Illuminate\Support\Str;

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

// '[1][2][3]'

rtrim{# collection-method}

rtrimметод праворуч обрізає заданий рядок:

use Illuminate\Support\Str;

$string = Str::of('  Laravel  ')->rtrim();

// '  Laravel'

$string = Str::of('/Laravel/')->rtrim('/');

// '/Laravel'

singular{# collection-method}

singularметод перетворює рядок у форму однини. Наразі ця функція підтримує лише англійську мову:

use Illuminate\Support\Str;

$singular = Str::of('cars')->singular();

// car

$singular = Str::of('children')->singular();

// child

slug{# collection-method}

slugметод генерує URL-адресу, що відповідає URL-адресам, із заданого рядка:

use Illuminate\Support\Str;

$slug = Str::of('Laravel Framework')->slug('-');

// laravel-framework

snake{# collection-method}

snakeметод перетворює заданий рядок уsnake_case:

use Illuminate\Support\Str;

$converted = Str::of('fooBar')->snake();

// foo_bar

split{# collection-method}

splitметод розділяє рядок на колекцію за допомогою регулярного виразу:

use Illuminate\Support\Str;

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

// collect(["one", "two", "three"])

start{# collection-method}

startметод додає один рядок даного значення до рядка, якщо він ще не починається зі значення:

use Illuminate\Support\Str;

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

// /this/string

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

// /this/string

startsWith{# collection-method}

startsWithметод визначає, чи заданий рядок починається з заданого значення:

use Illuminate\Support\Str;

$result = Str::of('This is my name')->startsWith('This');

// true

studly{# collection-method}

studlyметод перетворює заданий рядок уStudlyCase:

use Illuminate\Support\Str;

$converted = Str::of('foo_bar')->studly();

// FooBar

substr{# collection-method}

substrметод повертає частину рядка, задану заданими параметрами початку та довжини:

use Illuminate\Support\Str;

$string = Str::of('Laravel Framework')->substr(8);

// Framework

$string = Str::of('Laravel Framework')->substr(8, 5);

// Frame

title{# collection-method}

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{# collection-method}

trimметод обрізає заданий рядок:

use Illuminate\Support\Str;

$string = Str::of('  Laravel  ')->trim();

// 'Laravel'

$string = Str::of('/Laravel/')->trim('/');

// 'Laravel'

ucfirst{# collection-method}

ucfirstметод повертає заданий рядок з першим символом з великої літери:

use Illuminate\Support\Str;

$string = Str::of('foo bar')->ucfirst();

// Foo bar

upper{# collection-method}

upperметод перетворює заданий рядок у верхній регістр:

use Illuminate\Support\Str;

$adjusted = Str::of('laravel')->upper();

// LARAVEL

when{# collection-method}

whenметод викликає дане Закриття, якщо задана умова відповідає дійсності. Закриття отримає екземпляр вільного рядка:

use Illuminate\Support\Str;

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

// 'Taylor Otwell'

Якщо потрібно, ви можете передати інше Закриття як третій параметр доwhenметод. Це Закриття буде виконано, якщо параметр умови має значенняfalse.

whenEmpty{# collection-method}

whenEmptyметод викликає дане Закриття, якщо рядок порожній. Якщо Закриття повертає значення, це значення також повернетьсяwhenEmptyметод. Якщо закриття не повертає значення, буде повернуто екземпляр плавного рядка:

use Illuminate\Support\Str;

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

// 'Laravel'

words{# collection-method}

wordsметод обмежує кількість слів у рядку:

use Illuminate\Support\Str;

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

// Perfectly balanced, as >>>

URL-адреси

action(){# collection-method}

actionфункція генерує URL-адресу для даної дії контролера:

$url = action([HomeController::class, 'index']);

Якщо метод приймає параметри маршруту, ви можете передати їх як другий аргумент методу:

$url = action([UserController::class, 'profile'], ['id' => 1]);

asset(){# collection-method}

assetфункція генерує URL-адресу для активу, використовуючи поточну схему запиту (HTTP або HTTPS):

$url = asset('img/photo.jpg');

Ви можете налаштувати хост URL-адреси ресурсу, встановившиASSET_URLзмінна у вашому.envфайл. Це може бути корисно, якщо ви розміщуєте свої Assets на зовнішній службі, як Amazon S3:

// ASSET_URL=http://example.com/assets

$url = asset('img/photo.jpg'); // http://example.com/assets/img/photo.jpg

route(){# collection-method}

routeфункція генерує URL-адресу для вказаного іменованого маршруту:

$url = route('routeName');

Якщо маршрут приймає параметри, ви можете передати їх як другий аргумент методу:

$url = route('routeName', ['id' => 1]);

За замовчуваннямrouteфункція генерує абсолютну URL-адресу. Якщо ви хочете сформувати відносну URL-адресу, ви можете пройтиfalseяк третій аргумент:

$url = route('routeName', ['id' => 1], false);

secure_asset(){# collection-method}

secure_assetфункція генерує URL-адресу для активу за допомогою HTTPS:

$url = secure_asset('img/photo.jpg');

secure_url(){# collection-method}

secure_urlфункція генерує повністю кваліфіковану URL-адресу HTTPS на вказаний шлях:

$url = secure_url('user/profile');

$url = secure_url('user/profile', [1]);

url(){# collection-method}

urlфункція генерує повноцінну URL-адресу на вказаний шлях:

$url = url('user/profile');

$url = url('user/profile', [1]);

Якщо шлях не вказаний, файлIlluminate\Routing\UrlGeneratorекземпляр повертається:

$current = url()->current();

$full = url()->full();

$previous = url()->previous();

Різне

abort(){# collection-method}

abortфункція кидаєвиняток HTTPякий буде наданообробник винятків:

abort(403);

Ви також можете надати повідомлення про виняток та спеціальні заголовки відповідей, які слід надіслати браузеру:

abort(403, 'Unauthorized.', $headers);

abort_if(){# collection-method}

abort_ifФункція видає виняток HTTP, якщо заданий булевий вираз має значенняtrue:

abort_if(! Auth::user()->isAdmin(), 403);

Подобаєтьсяabortметоду, ви також можете надати текст відповіді на виняток як третій аргумент і масив власних заголовків відповідей як четвертий аргумент.

abort_unless(){# collection-method}

abort_unlessФункція видає виняток HTTP, якщо заданий булевий вираз має значенняfalse:

abort_unless(Auth::user()->isAdmin(), 403);

Подобаєтьсяabortметоду, ви також можете надати текст відповіді на виняток як третій аргумент і масив власних заголовків відповідей як четвертий аргумент.

app(){# collection-method}

appповертає функціюслужбовий контейнерпримірник:

$container = app();

Ви можете передати ім’я класу або інтерфейсу, щоб вирішити це з контейнера:

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

auth(){# collection-method}

authповертає функціюавтентифікаторекземпляр. Ви можете використовувати його замістьAuthFacadeдля зручності:

$user = auth()->user();

За потреби ви можете вказати, до якого екземпляра охорони ви хочете отримати доступ:

$user = auth('admin')->user();

back(){# collection-method}

backфункція генерує aперенаправити відповідь HTTPдо попереднього місцезнаходження користувача:

return back($status = 302, $headers = [], $fallback = false);

return back();

bcrypt(){# collection-method}

bcryptфункціяхешізадане значення за допомогою Bcrypt. Ви можете використовувати його як альтернативуHashфасад:

$password = bcrypt('my-secret-password');

blank(){# collection-method}

blankфункція повертає, чи вказане значення "порожнім":

blank('');
blank('   ');
blank(null);
blank(collect());

// true

blank(0);
blank(true);
blank(false);

// false

Для оберненого доblank, дивfilledметод.

broadcast(){# collection-method}

broadcastфункціяBroadcastданогоподіясвоїм Listenerам:

broadcast(new UserRegistered($user));

cache(){# collection-method}

cacheфункція може бути використана для отримання значень ізкеш. Якщо даний ключ не існує в кеші, буде повернуто необов’язкове значення за замовчуванням:

$value = cache('key');

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

Ви можете додавати елементи до кешу, передаючи функції функції масив пар ключ / значення. Ви також повинні вказати кількість секунд або тривалість кешованого значення слід вважати дійсним:

cache(['key' => 'value'], 300);

cache(['key' => 'value'], now()->addSeconds(10));

class_uses_recursive(){# collection-method}

class_uses_recursiveфункція повертає всі ознаки, використовувані класом, включаючи Trait, що використовуються усіма його батьківськими класами:

$traits = class_uses_recursive(App\Models\User::class);

collect(){# collection-method}

collectфункція створює aколекціяекземпляр із заданого значення:

$collection = collect(['taylor', 'abigail']);

config(){# collection-method}

configфункція отримує значення aконфігураціїзмінна. Значення конфігурації можна отримати за допомогою синтаксису "крапка", який включає ім'я файлу та опцію, до якої ви хочете отримати доступ. Може бути вказано значення за замовчуванням, яке повертається, якщо параметр конфігурації не існує:

$value = config('app.timezone');

$value = config('app.timezone', $default);

Ви можете встановити змінні конфігурації під час виконання, передавши масив пар ключ / значення:

config(['app.debug' => true]);

cookie(){# collection-method}

cookieфункція створює новуCookiesпримірник:

$cookie = cookie('name', 'value', $minutes);

csrf_field(){# collection-method}

csrf_fieldфункція генерує HTMLhiddenполе введення, що містить значення маркера CSRF. Наприклад, використовуючиBlade синтаксису:

{{ csrf_field() }}

csrf_token(){# collection-method}

csrf_tokenфункція отримує значення поточного маркера CSRF:

$token = csrf_token();

dd(){# collection-method}

ddфункція скидає дані змінні і закінчує виконання сценарію:

dd($value);

dd($value1, $value2, $value3, ...);

Якщо ви не хочете зупиняти виконання вашого сценарію, використовуйтеdumpзамість цього.

dispatch(){# collection-method}

dispatchфункція штовхає задануроботана Laravelьчерга на роботу:

dispatch(new App\Jobs\SendEmails);

dispatch_now(){# collection-method}

dispatch_nowфункція запускає задануроботанегайно і повертає значення з йогоhandleметод:

$result = dispatch_now(new App\Jobs\SendEmails);

dump(){# collection-method}

dumpфункція скидає дані змінні:

dump($value);

dump($value1, $value2, $value3, ...);

Якщо ви хочете припинити виконання сценарію після скидання змінних, використовуйтеddзамість цього.

env(){# collection-method}

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(){# collection-method}

eventфункція відправляє задануподіясвоїм Listenerам:

event(new UserRegistered($user));

filled(){# collection-method}

filledфункція повертає, чи не вказане значення "порожнім":

filled(0);
filled(true);
filled(false);

// true

filled('');
filled('   ');
filled(null);
filled(collect());

// false

Для оберненого доfilled, дивblankметод.

info(){# collection-method}

infoфункція запише інформацію вжурнал:

info('Some helpful information!');

Масив контекстних даних також може бути переданий функції:

info('User login attempt failed.', ['id' => $user->id]);

logger(){# collection-method}

loggerфункція може бути використана для написанняdebugповідомлення рівня дожурнал:

logger('Debug message');

Масив контекстних даних також може бути переданий функції:

logger('User has logged in.', ['id' => $user->id]);

Aжурналиекземпляр буде повернено, якщо функції не передано значення:

logger()->error('You are not allowed here.');

method_field(){# collection-method}

method_fieldфункція генерує HTMLhiddenполе введення, що містить підроблене значення HTTP-дієслова форми. Наприклад, використовуючиBlade синтаксису:

<form method="POST">
    {{ method_field('DELETE') }}
</form>

now(){# collection-method}

nowфункція створює новуIlluminate\Support\Carbonприклад для поточного часу:

$now = now();

old(){# collection-method}

oldфункціяотримуєanстарий вхідзначення блимало в сеансі:

$value = old('value');

$value = old('value', 'default');

optional(){# collection-method}

optionalФункція приймає будь-який аргумент і дозволяє отримати доступ до властивостей або методів виклику для цього об'єкта. Якщо даний об'єкт єnull, властивості та методи повернутьсяnullзамість того, щоб викликати помилку:

return optional($user->address)->street;

{!! old('name', optional($user)->name) !!}

optionalфункція також приймає Закриття як другий аргумент. Закриття буде викликано, якщо значення, вказане як перший аргумент, не має значення null:

return optional(User::find($id), function ($user) {
    return $user->name;
});

policy(){# collection-method}

policyметод отримує aполітикаекземпляр для даного класу:

$policy = policy(App\Models\User::class);

redirect(){# collection-method}

redirectфункція повертає aперенаправити відповідь HTTP, або повертає екземпляр редиректора, якщо викликається без аргументів:

return redirect($to = null, $status = 302, $headers = [], $secure = null);

return redirect('/home');

return redirect()->route('route.name');

report(){# collection-method}

reportфункція повідомить про виняток, використовуючи вашобробник винятків:

report($e);

request(){# collection-method}

requestфункція повертає струмзапитекземпляр або отримує елемент введення:

$request = request();

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

rescue(){# collection-method}

rescueфункція виконує дане Закриття та вловлює будь-які винятки, що виникають під час його виконання. Усі винятки, які будуть виявлені, будуть надіслані вамобробник винятків; однак запит продовжить обробку:

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

Ви також можете передати другий аргументrescueфункція. Цей аргумент буде значенням "за замовчуванням", яке слід повернути, якщо під час виконання Закриття виникає виняток:

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

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

resolve(){# collection-method}

resolveфункція вирішує заданий клас або ім'я інтерфейсу в його екземплярі за допомогоюслужбовий контейнер:

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

response(){# collection-method}

responseфункція створює aвідповідьекземпляр або отримує екземпляр фабрики відповідей:

return response('Hello World', 200, $headers);

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

retry(){# collection-method}

retryфункція намагається виконати заданий зворотний виклик до досягнення заданого максимального порогу спроби. Якщо зворотний виклик не видає винятку, його повернене значення буде повернуто. Якщо зворотний дзвінок видає виняток, він буде автоматично повторений. Якщо максимальна кількість спроб перевищена, буде вилучено виняток:

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

session(){# collection-method}

sessionфункція може бути використана для отримання або встановленнясесіязначення:

$value = session('key');

Ви можете встановити значення, передавши функції функції масив пар ключ / значення:

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

Зберігання сеансів буде повернуто, якщо функції не передано значення:

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

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

tap(){# collection-method}

tapФункція приймає два аргументи: довільний$valueта закриття.$valueбуде передано до закриття, а потім поверненеtapфункція. Повернене значення Закриття не має значення:

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

    $user->save();
});

Якщо закриття не передається доtapфункцію, ви можете викликати будь-який метод із заданого$value. Повернене значення методу, який ви викликаєте, буде завжди$value, незалежно від того, що насправді метод повертає у своєму визначенні. Наприклад, Eloquentupdateметод, як правило, повертає ціле число. Однак ми можемо змусити метод повернути саму модель, ланцюжкомupdateвиклик методу черезtapфункція:

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

Щоб додати atapметод до класу, ви можете додати файлIlluminate\Support\Traits\Tappableриса до класу.tapметод цієї Trait приймає Закриття як єдиний аргумент. Сам екземпляр об'єкта буде переданий до Закриття, а потім повернутийtapметод:

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

throw_if(){# collection-method}

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(){# collection-method}

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(){# collection-method}

todayфункція створює новуIlluminate\Support\Carbonприклад для поточної дати:

$today = today();

trait_uses_recursive(){# collection-method}

trait_uses_recursiveфункція повертає всі Trait, використовувані ознакою:

$traits = trait_uses_recursive(\Illuminate\Notifications\Notifiable::class);

transform(){# collection-method}

transformфункція виконує aClosureдля заданого значення, якщо значення не єпорожнійі повертає результат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(){# collection-method}

validatorфункція створює новувалідаторз наведеними аргументами. Ви можете використовувати його замістьValidatorFacadeдля зручності:

$validator = validator($data, $rules, $messages);

value(){# collection-method}

valueфункція повертає вказане значення. Однак, якщо ви пройдетеClosureдо функції,Closureбуде виконано, тоді буде повернено його результат:

$result = value(true);

// true

$result = value(function () {
    return false;
});

// false

view(){# collection-method}

viewфункція отримує aвидпримірник:

return view('auth.login');

with(){# collection-method}

withфункція повертає вказане значення. Якщо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