Вступление
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>');
// <html>foo</html>
preg_replace_array()
preg_replace_arrayФункция заменяет заданный шаблон в строках последовательно с использованием массива:
$string = 'The event will take place between :start and :end';
$replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string);
// The event will take place between 8:30 and 9:00
Str::after()
Метод возвращает все после заданного значения в строке:Str::after
use Illuminate\Support\Str;
$slice = Str::after('This is my name', 'This is');
// ' my name'
Str::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
0 комментариев