Вступление

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

Массивы и объекты

 

Arr::add()

Метод добавляет заданный ключ / значение пары в массив , если данный ключ не существует в массиве или установлен в :Arr::addnull

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

Метод возвращает два массива, одна из которых содержат ключи, а другие , содержащее значение данного массива:Arr::divide

use Illuminate\Support\Arr;

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

// $keys: ['name']

// $values: ['Desk']

 

Arr::dot()

Этот метод объединяет многомерный массив в одноуровневый массив, который использует обозначение «точка» для указания глубины:Arr::dot

use Illuminate\Support\Arr;

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

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

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

 

Arr::except()

Метод удаляет заданные пары ключ / значение из массива:Arr::except

use Illuminate\Support\Arr;

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

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

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

 

Arr::first()

Метод возвращает первый элемент массива прохождения испытания данной истины:Arr::first

use Illuminate\Support\Arr;

$array = [100, 200, 300];

$first = Arr::first($array, function ($value, $key) {
    return $value >= 150;
});

// 200

Значение по умолчанию также может быть передано в качестве третьего параметра в метод. Это значение будет возвращено, если никакое значение не пройдет проверку на истинность:

use Illuminate\Support\Arr;

$first = Arr::first($array, $callback, $default);

 

Arr::flatten()

Метод сглаживает многомерный массив в массив одного уровня:Arr::flatten

use Illuminate\Support\Arr;

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

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

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

 

Arr::forget()

Метод удаляет заданный ключ / значение пары из глубоко вложенного массива , используя «точечную» нотацию:Arr::forget

use Illuminate\Support\Arr;

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

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

// ['products' => []]

 

Arr::get()

Метод возвращает значение из глубоко вложенного массива с помощью «точки» обозначений:Arr::get

use Illuminate\Support\Arr;

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

$price = Arr::get($array, 'products.desk.price');

// 100

Метод также принимает значение по умолчанию, который будет возвращен , если указанный ключ не найден:Arr::get

use Illuminate\Support\Arr;

$discount = Arr::get($array, 'products.desk.discount', 0);

// 0

 

Arr::has()

В методе проверяет , существует ли заданный элемент или элементы в массиве , используя «точку» обозначения:Arr::has

use Illuminate\Support\Arr;

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

$contains = Arr::has($array, 'product.name');

// true

$contains = Arr::has($array, ['product.price', 'product.discount']);

// false

 

Arr::last()

Метод возвращает последний элемент массива , проходящего тест данной истины:Arr::last

use Illuminate\Support\Arr;

$array = [100, 200, 300, 110];

$last = Arr::last($array, function ($value, $key) {
    return $value >= 150;
});

// 300

Значение по умолчанию может быть передано в качестве третьего аргумента метода. Это значение будет возвращено, если никакое значение не пройдет проверку на истинность:

use Illuminate\Support\Arr;

$last = Arr::last($array, $callback, $default);

 

Arr::only()

Метод возвращает только указанные пары ключ / значение из заданного массива:Arr::only

use Illuminate\Support\Arr;

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

$slice = Arr::only($array, ['name', 'price']);

// ['name' => 'Desk', 'price' => 100]

 

Arr::pluck()

Метод извлекает все значения для данного ключа из массива:Arr::pluck

use Illuminate\Support\Arr;

$array = [
    ['developer' => ['id' => 1, 'name' => 'Taylor']],
    ['developer' => ['id' => 2, 'name' => 'Abigail']],
];

$names = Arr::pluck($array, 'developer.name');

// ['Taylor', 'Abigail']

Вы также можете указать, как вы хотите, чтобы результирующий список был введен в качестве ключа:

use Illuminate\Support\Arr;

$names = Arr::pluck($array, 'developer.name', 'developer.id');

// [1 => 'Taylor', 2 => 'Abigail']

 

Arr::prepend()

Метод будет толкать элемент на начало массива:Arr::prepend

use Illuminate\Support\Arr;

$array = ['one', 'two', 'three', 'four'];

$array = Arr::prepend($array, 'zero');

// ['zero', 'one', 'two', 'three', 'four']

При необходимости вы можете указать ключ, который следует использовать для значения:

use Illuminate\Support\Arr;

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

$array = Arr::prepend($array, 'Desk', 'name');

// ['name' => 'Desk', 'price' => 100]

 

Arr::pull()

В метод возвращает и удаляет пару ключ / значение из массива:Arr::pull

use Illuminate\Support\Arr;

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

$name = Arr::pull($array, 'name');

// $name: Desk

// $array: ['price' => 100]

Значение по умолчанию может быть передано в качестве третьего аргумента метода. Это значение будет возвращено, если ключ не существует:

use Illuminate\Support\Arr;

$value = Arr::pull($array, $key, $default);

 

Arr::random()

Метод возвращает случайное значение из массива:Arr::random

use Illuminate\Support\Arr;

$array = [1, 2, 3, 4, 5];

$random = Arr::random($array);

// 4 - (retrieved randomly)

Вы также можете указать количество элементов для возврата в качестве необязательного второго аргумента. Обратите внимание, что предоставление этого аргумента вернет массив, даже если требуется только один элемент:

use Illuminate\Support\Arr;

$items = Arr::random($array, 2);

// [2, 5] - (retrieved randomly)

 

Arr::set()

Метод устанавливает значение в пределах глубоко вложенного массива с помощью «точка» обозначения:Arr::set

use Illuminate\Support\Arr;

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

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

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

 

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

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']

Если заданное значение равно нулю, будет возвращен пустой массив:

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

Метод возвращает все до заданного значения в строке:Str::before

use Illuminate\Support\Str;

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

// 'This is '

 

Str::camel()

Метод преобразует заданную строку :Str::camelcamelCase

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

Метод определяет , является ли данная строка заканчивается с заданным значением:Str::endsWith

use Illuminate\Support\Str;

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

// true

 

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

Метод преобразует заданную строку :Str::kebabkebab-case

use Illuminate\Support\Str;

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

// foo-bar

 

Str::limit()

Метод обрежет данную строку в указанной длине:Str::limit

use Illuminate\Support\Str;

$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20);

// The quick brown fox...

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

use Illuminate\Support\Str;

$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, ' (...)');

// The quick brown fox (...)

 

Str::orderedUuid()

Метод генерирует «метка времени первого» UUID , которые могут быть эффективно хранящимся в индексированном столбце базы данных:Str::orderedUuid

use Illuminate\Support\Str;

return (string) Str::orderedUuid();

 

Str::plural()

Метод преобразует строку в форме множественного числа. Эта функция в настоящее время поддерживает только английский язык:Str::plural

use Illuminate\Support\Str;

$plural = Str::plural('car');

// cars

$plural = Str::plural('child');

// children

Вы можете предоставить целое число в качестве второго аргумента функции для извлечения формы строки в единственном или множественном числе:

use Illuminate\Support\Str;

$plural = Str::plural('child', 2);

// children

$plural = Str::plural('child', 1);

// child

 

Str::random()

Метод генерирует случайную строку заданной длины. Эта функция использует функцию PHP :Str::randomrandom_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()

Метод генерирует URL дружественного «пулю» из заданной строки:Str::slug

use Illuminate\Support\Str;

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

// laravel-5-framework

 

Str::snake()

Метод преобразует заданную строку :Str::snakesnake_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::studlyStudlyCase

use Illuminate\Support\Str;

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

// FooBar

 

Str::title()

Метод преобразует заданную строку :Str::titleTitle Case

use Illuminate\Support\Str;

$converted = Str::title('a nice title uses the correct case');

// A Nice Title Uses The Correct Case

 

Str::uuid()

Метод генерирует UUID (версия 4):Str::uuid

use Illuminate\Support\Str;

return (string) Str::uuid();

 

trans()

transФункция переводит данную клавишу перевода , используя ваши файлы локализации :

echo trans('messages.welcome');

Если указанный ключ перевода не существует, transфункция вернет данный ключ. Таким образом, используя приведенный выше пример, transфункция вернется, если ключ перевода не существует.messages.welcome

trans_choice()

trans_choiceФункция переводит данную клавишу перевода с интонацией:

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

Если указанный ключ перевода не существует, trans_choiceфункция вернет данный ключ. Таким образом, используя приведенный выше пример, trans_choiceфункция вернется, если ключ перевода не существует.messages.notifications

 

URL-адрес

action()

actionФункция генерирует URL - адрес для данного контроллера действий. Вам не нужно передавать полное пространство имен контроллера. Вместо этого передайте имя класса контроллера относительно пространства имен:App\Http\Controllers

$url = action('HomeController@index');

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

Если метод принимает параметры маршрута, вы можете передать их в качестве второго аргумента метода:

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

 

asset()

assetФункция генерирует URL для актива , используя текущую схему запроса HTTP (или HTTPS):

$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Функция генерирует URL для актива с использованием HTTPS:

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

 

secure_url()

secure_urlФункция генерирует полный HTTPS URL для данного пути:

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

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

 

url()

urlФункция генерирует полное URL для данного пути:

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

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

Если путь не указан, возвращается экземпляр:Illuminate\Routing\UrlGenerator

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

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

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

 

Разнообразный

abort()

abortФункция вызывает исключение HTTP , которое будет оказано на обработчик исключения :

abort(403);

Вы также можете предоставить текст ответа и пользовательские заголовки ответа:

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

 

abort_if()

abort_ifФункция вызывает исключение HTTP , если данное логическое выражение имеет значение true:

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

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

abort_unless()

abort_unlessФункция вызывает исключение HTTP , если данное логическое выражение имеет значение false:

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

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

app()

appФункция возвращает контейнер службы экземпляра:

$container = app();

Вы можете передать имя класса или интерфейса для разрешения его из контейнера:

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

 

auth()

authФункция возвращает аутентификатор экземпляр. Вы можете использовать его вместо Authфасада для удобства:

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

При необходимости вы можете указать, к какому экземпляру охраны вы хотели бы получить доступ:

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

 

back()

backФункция генерирует ответ HTTP перенаправления на предыдущее местоположение пользователя:

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

return back();

 

bcrypt()

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

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

 

blank()

blankФункция возвращает , является ли «пустым» данное значение:

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

// true

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

// false

Обратное blankсм. В filledметоде.

 

broadcast()

broadcastФункция передает данное событие для слушателей:

broadcast(new UserRegistered($user));

 

cache()

cacheФункция может быть использована для получения значений из кэша . Если данный ключ не существует в кэше, будет возвращено необязательное значение по умолчанию:

$value = cache('key');

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

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

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

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

 

class_uses_recursive()

class_uses_recursiveФункция возвращает все признаки , используемые классом, в том числе признаков , используемых всеми его родительских классов:

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

 

collect()

collectФункция создает коллекцию экземпляр от заданного значения:

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

 

config()

configФункция получает значение конфигурации переменной. Доступ к значениям конфигурации можно получить с помощью синтаксиса «точка», который включает имя файла и параметр, к которому вы хотите получить доступ. Значение по умолчанию может быть указано и возвращается, если опция конфигурации не существует:

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

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

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

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

 

cookie()

cookieФункция создает новый куки экземпляр:

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

 

csrf_field()

csrf_fieldФункция генерирует HTML hiddenполя ввода , содержащее значение маркеров CSRF. Например, используя синтаксис Blade :

{{ csrf_field() }}

 

csrf_token()

csrf_tokenФункция возвращает значение текущих маркеров CSRF:

$token = csrf_token();

 

dd()

ddФункция сбрасывает данные переменные и заканчивает выполнение сценария:

dd($value);

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

Если вы не хотите останавливать выполнение вашего скрипта, используйте dumpвместо этого функцию.

 

decrypt()

decryptФункция расшифровывает данное значение с помощью Laravel в Encrypter :

$decrypted = decrypt($encrypted_value);

 

dispatch()

dispatchФункция толкает данную работу на Laravel очереди заданий :

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вместо этого функцию.

Вы можете использовать команду Artisan для перехвата всех вызовов и отображения их в окне консоли, а не в браузере.dump-serverdump

encrypt()

encryptФункция шифрует данное значение с помощью Laravel в Encrypter :

$encrypted = encrypt($unencrypted_value);

 

env()

envФункция возвращает значение в переменной окружения или возвращает значение по умолчанию:

$env = env('APP_ENV');

// Returns 'production' if APP_ENV is not set...
$env = env('APP_ENV', 'production');

Если вы выполняете команду во время процесса развертывания, вы должны быть уверены, что вызываете функцию только из ваших файлов конфигурации. Как только конфигурация будет кэширована, файл не будет загружен и все вызовы функции вернутся .config:cacheenv.envenvnull

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Функция также принимает Закрытие в качестве второго аргумента. Закрытие будет вызвано, если значение, указанное в качестве первого аргумента, не равно нулю:

return optional(User::find($id), function ($user) {
    return new DummyUser;
});

 

policy()

policyМетод извлекает политику экземпляр для данного класса:

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

 

redirect()

redirectФункция возвращает редирект ответ HTTP , или возвращает экземпляр редиректор , если вызывается без аргументов:

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

return redirect('/home');

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

 

report()

reportФункция сообщит исключение , используя ваш обработчик исключений «сек reportметод:

report($e);

 

request()

requestФункция возвращает текущий запрос экземпляр или получает входной элемент:

$request = request();

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

 

rescue()

rescueФункция выполняет заданное Замыкание и ловит любые исключения, возникающие в процессе его исполнения. Все исключения , которые пойманы будут отправлены на ваш обработчик исключений «s reportметод; однако запрос продолжит обработку:

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

Вы также можете передать второй аргумент rescueфункции. Этот аргумент будет значением по умолчанию, которое должно быть возвращено, если во время выполнения Closure возникает исключение:

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

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

 

resolve()

resolveФункция решает данный класс или имя интерфейса для его экземпляра , используя контейнер службы :

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

 

response()

responseФункция создает ответ экземпляр или получает экземпляр фабрики ответа:

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

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

 

retry()

retryФункция пытается выполнить данную функцию обратного вызова , пока заданная максимальная пороговая попытка не будет достигнут. Если обратный вызов не выдает исключение, его возвращаемое значение будет возвращено. Если обратный вызов генерирует исключение, он будет автоматически повторен. Если максимальное количество попыток превышено, будет сгенерировано исключение:

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

 

session()

sessionФункция может быть использована для получения или установки сеанса значения:

$value = session('key');

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

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

Хранилище сеанса будет возвращено, если в функцию не передано значение:

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

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

 

tap()

tapФункция принимает два аргумента: произвольные $valueи закрытие. $valueБудет передан к закрытию , а затем возвращается в tapфункции. Возвращаемое значение Закрытия не имеет значения:

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

    $user->save();
});

Если в tapфункцию не передается Closure , вы можете вызвать любой метод для данного объекта $value. Возвращаемое значение метода, который вы вызываете, всегда будет $value, независимо от того, что метод на самом деле возвращает в своем определении. Например, updateметод Eloquent обычно возвращает целое число. Тем не менее, мы можем заставить метод возвращать саму модель, связывая updateвызов метода через tapфункцию:

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

 

throw_if()

throw_ifФункция вызывает данное исключение , если данное логическое выражение имеет значение true:

throw_if(! Auth::user()->isAdmin(), AuthorizationException::class);

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

throw_unless()

throw_unlessФункция вызывает данное исключение , если данное логическое выражение имеет значение false:

throw_unless(Auth::user()->isAdmin(), AuthorizationException::class);

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

 

today()

todayФункция создает новый экземпляр для текущей даты:Illuminate\Support\Carbon

$today = today();

 

trait_uses_recursive()

trait_uses_recursiveФункция возвращает все черты , используемые признак:

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

 

transform()

transformФункция выполняет оператор Closureна заданное значение , если значение не пусто , и возвращает результат из Closure:

$callback = function ($value) {
    return $value * 2;
};

$result = transform(5, $callback);

// 10

Значение по умолчанию или Closureтакже может быть передано в качестве третьего параметра в метод. Это значение будет возвращено, если данное значение пустое:

$result = transform(null, $callback, 'The value is blank');

// The value is blank

 

validator()

validatorФункция создает новый валидатор экземпляр с заданными аргументами. Вы можете использовать его вместо Validatorфасада для удобства:

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

 

value()

valueФункция возвращает значение , которое она дается. Однако, если вы передадите a Closureфункции, то Closureбудет выполнено то, будет возвращен ее результат:

$result = value(true);

// true

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

// false

 

view()

viewФункция возвращает вид экземпляра:

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