Вступление
Laravel включает в себя множество глобальных «вспомогательных» функций PHP. Многие из этих функций используются самой платформой; однако вы можете свободно использовать их в своих приложениях, если считаете это удобным.
Массивы и объекты
Arr::add()
Метод добавляет заданный ключ / значение пары в массив , если данный ключ не существует в массиве или установлен в :Arr::add
null
use Illuminate\Support\Arr;
$array = Arr::add(['name' => 'Desk'], 'price', 100);
// ['name' => 'Desk', 'price' => 100]
$array = Arr::add(['name' => 'Desk', 'price' => null], 'price', 100);
// ['name' => 'Desk', 'price' => 100]
Arr::collapse()
Метод разрушается массив массивов в один массив:Arr::collapse
use Illuminate\Support\Arr;
$array = Arr::collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
Arr::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::sortRecursive
sort
ksort
use Illuminate\Support\Arr;
$array = [
['Roman', 'Taylor', 'Li'],
['PHP', 'Ruby', 'JavaScript'],
['one' => 1, 'two' => 2, 'three' => 3],
];
$sorted = Arr::sortRecursive($array);
/*
[
['JavaScript', 'PHP', 'Ruby'],
['one' => 1, 'three' => 3, 'two' => 2],
['Li', 'Roman', 'Taylor'],
]
*/
Arr::where()
Метод фильтрует массив , используя данное Закрытие:Arr::where
use Illuminate\Support\Arr;
$array = [100, '200', 300, '400', 500];
$filtered = Arr::where($array, function ($value, $key) {
return is_string($value);
});
// [1 => '200', 3 => '400']
Arr::wrap()
Метод обертывания заданного значения в массиве. Если данное значение уже является массивом, оно не будет изменено:Arr::wrap
use Illuminate\Support\Arr;
$string = 'Laravel';
$array = Arr::wrap($string);
// ['Laravel']
Если заданное значение равно нулю, будет возвращен пустой массив:
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::camel
camelCase
use Illuminate\Support\Str;
$converted = Str::camel('foo_bar');
// fooBar
Str::contains()
Метод определяет , является ли данная строка содержит заданное значение (чувствительно к регистру):Str::contains
use Illuminate\Support\Str;
$contains = Str::contains('This is my name', 'my');
// true
Вы также можете передать массив значений, чтобы определить, содержит ли данная строка какое-либо из значений:
use Illuminate\Support\Str;
$contains = Str::contains('This is my name', ['my', 'foo']);
// true
Str::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::kebab
kebab-case
use Illuminate\Support\Str;
$converted = Str::kebab('fooBar');
// foo-bar
Str::limit()
Метод обрежет данную строку в указанной длине:Str::limit
use Illuminate\Support\Str;
$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20);
// The quick brown fox...
Вы также можете передать третий аргумент, чтобы изменить строку, которая будет добавлена в конец:
use Illuminate\Support\Str;
$truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, ' (...)');
// The quick brown fox (...)
Str::orderedUuid()
Метод генерирует «метка времени первого» 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::random
random_bytes
use Illuminate\Support\Str;
$random = Str::random(40);
Str::replaceArray()
Метод заменяет заданное значение в строке последовательно используя массив:Str::replaceArray
use Illuminate\Support\Str;
$string = 'The event will take place between ? and ?';
$replaced = Str::replaceArray('?', ['8:30', '9:00'], $string);
// The event will take place between 8:30 and 9:00
Str::replaceFirst()
Метод заменяет первое вхождение заданного значения в строке:Str::replaceFirst
use Illuminate\Support\Str;
$replaced = Str::replaceFirst('the', 'a', 'the quick brown fox jumps over the lazy dog');
// a quick brown fox jumps over the lazy dog
Str::replaceLast()
Метод заменяет последнее вхождение заданного значения в строке:Str::replaceLast
use Illuminate\Support\Str;
$replaced = Str::replaceLast('the', 'a', 'the quick brown fox jumps over the lazy dog');
// the quick brown fox jumps over a lazy dog
Str::singular()
Метод преобразует строку в своей особой форме. Эта функция в настоящее время поддерживает только английский язык:Str::singular
use Illuminate\Support\Str;
$singular = Str::singular('cars');
// car
$singular = Str::singular('children');
// child
Str::slug()
Метод генерирует URL дружественного «пулю» из заданной строки:Str::slug
use Illuminate\Support\Str;
$slug = Str::slug('Laravel 5 Framework', '-');
// laravel-5-framework
Str::snake()
Метод преобразует заданную строку :Str::snake
snake_case
use Illuminate\Support\Str;
$converted = Str::snake('fooBar');
// foo_bar
Str::start()
Метод добавляет один экземпляр данного значения в строку , если она уже не начать со значением:Str::start
use Illuminate\Support\Str;
$adjusted = Str::start('this/string', '/');
// /this/string
$adjusted = Str::start('/this/string', '/');
// /this/string
Str::startsWith()
Метод определяет , является ли данная строка начинается с заданным значением:Str::startsWith
use Illuminate\Support\Str;
$result = Str::startsWith('This is my name', 'This');
// true
Str::studly()
Метод преобразует заданную строку :Str::studly
StudlyCase
use Illuminate\Support\Str;
$converted = Str::studly('foo_bar');
// FooBar
Str::title()
Метод преобразует заданную строку :Str::title
Title Case
use Illuminate\Support\Str;
$converted = Str::title('a nice title uses the correct case');
// A Nice Title Uses The Correct Case
Str::uuid()
Метод генерирует 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-server
dump
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:cache
env
.env
env
null
event()
event
Функция отправляет данное событие для своих слушателей:
event(new UserRegistered($user));
factory()
factory
Функция создает модель фабрики построитель для данного класса, имя и сумму. Может использоваться при тестировании или посеве :
$user = factory(App\User::class)->make();
filled()
filled
Функция возвращает ли данное значение не является «пустым»:
filled(0);
filled(true);
filled(false);
// true
filled('');
filled(' ');
filled(null);
filled(collect());
// false
Обратное filled
см. В blank
методе.
info()
info
Функция записывает информацию в журнал :
info('Some helpful information!');
Массив контекстных данных также может быть передан функции:
info('User login attempt failed.', ['id' => $user->id]);
logger()
logger
Функция может быть использована , чтобы написать debug
сообщение уровня в журнале :
logger('Debug message');
Массив контекстных данных также может быть передан функции:
logger('User has logged in.', ['id' => $user->id]);
Регистратор экземпляр будет возвращен , если значение не передается функции:
logger()->error('You are not allowed here.');
method_field()
method_field
Функция генерирует HTML hidden
поля ввода , содержащее подделано значение HTTP глагола формы. Например, используя синтаксис Blade :
<form method="POST">
{{ method_field('DELETE') }}
</form>
now()
now
Функция создает новый экземпляр для текущего времени:Illuminate\Support\Carbon
$now = now();
old()
old
Функция возвращает к старому входному значению прошили в сессию:
$value = old('value');
$value = old('value', 'default');
optional()
optional
Функция принимает любой аргумент и позволяет получить доступ к свойствам или методам обработки вызовов на этом объекте. Если данный объект есть null
, свойства и методы будут возвращаться null
вместо того, чтобы вызывать ошибку:
return optional($user->address)->street;
{!! old('name', optional($user)->name) !!}
optional
Функция также принимает Закрытие в качестве второго аргумента. Закрытие будет вызвано, если значение, указанное в качестве первого аргумента, не равно нулю:
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 комментариев