Может войдёшь?
Черновики Написать статью Профиль

Функции

перевод документация 5.х

  1. 1. Введение
  2. 2. Массивы
    1. 2.1. array_add
    2. 2.2. array_collapse
    3. 2.3. array_divide
    4. 2.4. array_dot
    5. 2.5. array_except
    6. 2.6. array_first
    7. 2.7. array_flatten
    8. 2.8. array_forget
    9. 2.9. array_fetch
    10. 2.10. array_get
    11. 2.11. array_has
    12. 2.12. array_last
    13. 2.13. array_only
    14. 2.14. array_pluck
    15. 2.15. array_prepend
    16. 2.16. array_pull
    17. 2.17. array_set
    18. 2.18. array_sort
    19. 2.19. array_sort_recursive
    20. 2.20. array_where
    21. 2.21. head
    22. 2.22. last
  3. 3. Пути
    1. 3.1. app_path
    2. 3.2. base_path
    3. 3.3. config_path
    4. 3.4. database_path
    5. 3.5. elixir
    6. 3.6. public_path
    7. 3.7. resource_path
    8. 3.8. storage_path
  4. 4. Маршруты
    1. 4.1. get
    2. 4.2. post
    3. 4.3. put
    4. 4.4. patch
    5. 4.5. delete
    6. 4.6. resource
  5. 5. Строки
    1. 5.1. camel_case
    2. 5.2. class_basename
    3. 5.3. e
    4. 5.4. ends_with
    5. 5.5. snake_case
    6. 5.6. str_limit
    7. 5.7. starts_with
    8. 5.8. str_contains
    9. 5.9. str_finish
    10. 5.10. str_is
    11. 5.11. str_plural
    12. 5.12. str_random
    13. 5.13. str_singular
    14. 5.14. str_slug
    15. 5.15. studly_case
    16. 5.16. title_case
    17. 5.17. trans
    18. 5.18. trans_choice
  6. 6. URL-адреса
    1. 6.1. action
    2. 6.2. asset
    3. 6.3. secure_asset
    4. 6.4. route
    5. 6.5. secure_url
    6. 6.6. url
  7. 7. Прочее
    1. 7.1. abort
    2. 7.2. abort_if
    3. 7.3. abort_unless
    4. 7.4. auth
    5. 7.5. back
    6. 7.6. bcrypt
    7. 7.7. collect
    8. 7.8. config
    9. 7.9. csrf_field
    10. 7.10. cache
    11. 7.11. csrf_token
    12. 7.12. dd
    13. 7.13. dispatch
    14. 7.14. env
    15. 7.15. event
    16. 7.16. info
    17. 7.17. logger
    18. 7.18. factory
    19. 7.19. method_field
    20. 7.20. old
    21. 7.21. redirect
    22. 7.22. request
    23. 7.23. response
    24. 7.24. session
    25. 7.25. value
    26. 7.26. view
    27. 7.27. with
Этот перевод актуален для англоязычной документации на (ветка 5.2) , (ветка 5.1) и (ветка 5.0). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

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

Массивы

array_add

Добавить указанную пару ключ/значение в массив, если она там ещё не существует.

PHP
$array = array_add(['name' => 'Desk'], 'price', 100);

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

array_collapse

Функция PHParray_collapse() (Laravel 5.1+) собирает массив массивов в единый массив:

PHP
$array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);

// [1, 2, 3, 4, 5, 6, 7, 8, 9]

array_divide

Вернуть два массива — один с ключами, другой со значениями оригинального массива.

PHP
list($keys, $values) = array_divide(['name' => 'Desk']);

// $keys: ['name']

// $values: ['Desk']

array_dot

Сделать многоуровневый массив плоским, объединяя вложенные массивы с помощью точки в именах.

PHP
$array = array_dot(['foo' => ['bar' => 'baz']]);

// ['foo.bar' => 'baz'];

array_except

Удалить указанную пару ключ/значение из массива.

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

$array = array_except($array, ['price']);

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

array_first

Вернуть первый элемент массива, удовлетворяющий требуемому условию.

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

$value = array_first($array, function ($value, $key) {
  return 
$value >= 150;
});

// 200

Третьим параметром можно передать значение по умолчанию на случай, если ни одно значение не пройдёт условие:

PHP
$value = array_first($array, $callback, $default);

array_flatten

Сделать многоуровневый массив плоским.

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

$array = array_flatten($array);

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

array_forget

Удалить указанную пару ключ/значение из многоуровневого массива, используя синтаксис имени с точкой.

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

array_forget($array, 'products.desk');

// ['products' => []]
+ 5.0

добавлено в 5.0 ()

array_fetch

Функция PHParray_fetch() возвращает одноуровневый массив с выбранными элементами по переданному пути.

PHP
$array = [
  [
'developer' => ['name' => 'Taylor']],
  [
'developer' => ['name' => 'Dayle']]
];

$array = array_fetch($array, 'developer.name');

// ['Taylor', 'Dayle'];

array_get

Вернуть значение из многоуровневого массива, используя синтаксис имени с точкой.

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

$value = array_get($array, 'products.desk');

// ['price' => 100]

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

PHP
$value = array_get($array, 'names.john', 'default');

Если вам нужно что-то похожее на PHParray_get(), но только для объектов, используйте PHPobject_get().

+ 5.3 5.2 5.1

добавлено в 5.3 () 5.2 () 5.1 ()

array_has

Функция PHParray_has() проверяет существование данного элемента или элементов в массиве с помощью «точечной» записи:

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

$hasItem = array_has($array, 'product.name');

// true

$hasItems = array_has($array, ['product.price', 'product.discount']);

// false
+ 5.3 5.0

добавлено в 5.3 () 5.0 ()

array_last

Функция PHParray_last() возвращает последний элемент массива, удовлетворяющий требуемому условию:

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

$value = array_last($array, function ($value, $key) {
  return 
$value >= 150;
});

// 300
+ 5.0

добавлено в 5.0 ()

Третьим параметром можно передать значение по умолчанию:

PHP
$value = array_last($array, $callback, $default);

array_only

Вернуть из массива только указанные пары ключ/значения.

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

$array = array_only($array, ['name', 'price']);

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

array_pluck

Извлечь значения из многоуровневого массива, соответствующие переданному ключу.

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

$array = array_pluck($array, 'developer.name');

// ['Taylor', 'Abigail'];

Также вы можете указать ключ для полученного списка:

PHP
$array = array_pluck($array, 'developer.name', 'developer.id');

// [1 => 'Taylor', 2 => 'Abigail'];
+ 5.2

добавлено в 5.2 ()

array_prepend

Поместить элемент в начало массива:

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

$array = array_prepend($array, 'zero');

// $array: ['zero', 'one', 'two', 'three', 'four']

array_pull

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

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

$name = array_pull($array, 'name');

// $name: Desk

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

array_set

Установить значение в многоуровневом массиве, используя синтаксис имени с точкой.

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

array_set($array, 'products.desk.price', 200);

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

array_sort

Отсортировать массив по результатам вызовов переданной функции-замыкания.

PHP
$array = [
  [
'name' => 'Desk'],
  [
'name' => 'Chair'],
];

$array = array_values(array_sort($array, function ($value) {
  return 
$value['name'];
}));

/*
  [
    ['name' => 'Chair'],
    ['name' => 'Desk'],
  ]
*/
+ 5.1

добавлено в 5.1 ()

array_sort_recursive

Функция PHParray_sort_recursive() рекурсивно сортирует массив с помощью функции PHPsort():

PHP
$array = [
  [
    
'Roman',
    
'Taylor',
    
'Li',
  ],
  [
    
'PHP',
    
'Ruby',
    
'JavaScript',
  ],
];

$array = array_sort_recursive($array);

/*
  [
    [
      'Li',
      'Roman',
      'Taylor',
    ],
    [
      'JavaScript',
      'PHP',
      'Ruby',
    ]
  ];
*/

array_where

Фильтровать массив с помощью переданной функции-замыкания.

PHP
$array = [100, '200', 300, '400', 500];

$array = array_where($array, function ($value, $key) {
  return 
is_string($value);
});

// [1 => 200, 3 => 400]

head

Вернуть первый элемент массива.

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

$first = head($array);

// 100

last

Вернуть последний элемент массива.

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

$last = last($array);

// 300

Пути

app_path

Получить полный путь к папке app. Также вы можете использовать функцию PHPapp_path() для получения полного пути к указанному файлу относительно каталога приложения:

PHP
$path = app_path();

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

base_path

Получить полный путь к корневой папке приложения. Также вы можете использовать функцию PHPbase_path() для получения полного пути к указанному файлу относительно корня проекта:

PHP
$path = base_path();

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

config_path

Получить полный путь к папке config:

PHP
$path = config_path();
+ 5.1

добавлено в 5.1 ()

database_path

Функция PHPdatabase_path() возвращает полный путь к папке базы данных приложения:

PHP
$path = database_path();

elixir

Функция PHPelixir() получает путь к файлу Elixir в системе контроля версий:

PHP
elixir($file);

public_path

Получить полный путь к папке public:

PHP
$path = public_path();
+ 5.3 5.2

добавлено в 5.3 () 5.2 ()

resource_path

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

PHP
$path = resource_path();

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

storage_path

Получить полный путь к папке storage. Также вы можете использовать функцию PHPstorage_path() для получения полного пути к указанному файлу относительно каталога storage:

PHP
$path = storage_path();

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

добавлено в 5.0 ()

Маршруты

get

Зарегистрировать новый маршрут GET.

PHP
get('/', function() { return 'Hello World'; });

post

Зарегистрировать новый маршрут POST.

PHP
post('foo/bar', 'FooController@action');

put

Зарегистрировать новый маршрут PUT.

PHP
put('foo/bar', 'FooController@action');

patch

Зарегистрировать новый маршрут PATCH.

PHP
patch('foo/bar', 'FooController@action');

delete

Зарегистрировать новый маршрут DELETE.

PHP
delete('foo/bar', 'FooController@action');

resource

Зарегистрировать новый маршрут ресурса RESTful.

PHP
resource('foo', 'FooController');

Строки

camel_case

Преобразовать строку в camelCase.

PHP
$camel = camel_case('foo_bar');

// fooBar

class_basename

Получить имя переданного класса без пространства имён.

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

// Baz

e

Выполнить над строкой htmlspecialchars (для 5.2 и ранее: htmlentities ).

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

// <html>foo</html>

ends_with

Определить, заканчивается ли строка переданной подстрокой.

PHP
$value = ends_with('This is my name', 'name');

// true

snake_case

Преобразовать строку в snake_case (стиль именования Си с подчёркиваниями вместо пробелов — прим. пер.).

PHP
$snake = snake_case('fooBar');

// foo_bar

str_limit

Ограничить число символов в строке. Функция принимает строку первым аргументом, а вторым — максимальное число символов:

PHP
$value = str_limit('The PHP framework for web artisans.', 7);

// The PHP...

starts_with

Определить, начинается ли строка с переданной подстроки.

PHP
$value = starts_with('This is my name', 'This');

// true

str_contains

Определить, содержит ли строка переданную подстроку.

PHP
$value = str_contains('This is my name', 'my');

// true
+ 5.3

добавлено в 5.3 ()

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

PHP
$value = str_contains('This is my name', ['my', 'foo']);

// true

str_finish

Добавить одно вхождение подстроки в конец переданной строки.

PHP
$string = str_finish('this/string', '/');

// this/string/

str_is

Определить, соответствует ли строка маске. Можно использовать звёздочки (*) как символы подстановки.

PHP
$value = str_is('foo*', 'foobar');

// true

$value = str_is('baz*', 'foobar');

// false

str_plural

Преобразовать слово-строку во множественное число (только для английского).

PHP
$plural = str_plural('car');

// cars

$plural = str_plural('child');

// children

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

PHP
$plural = str_plural('child', 2);

// children

$plural = str_plural('child', 1);

// child

str_random

Создать последовательность случайных символов заданной длины. Эта функция использует PHP-функцию PHPrandom_bytes():

PHP
$string = str_random(40);

str_singular

Преобразовать слово-строку в единственное число (только для английского).

PHP
$singular = str_singular('cars');

// car

str_slug

Сгенерировать подходящую для URL «заготовку» из переданной строки.

PHP
$title = str_slug('Laravel 5 Framework', '-');

// laravel-5-framework

studly_case

Преобразовать строку в StudlyCase.

PHP
$value = studly_case('foo_bar');

// FooBar
+ 5.3

добавлено в 5.3 ()

title_case

Конвертировать строку в стиль заголовка «Title Case»:

PHP
$title = title_case('хороший заголовок пишется правильно');

// Хороший Заголовок Пишется Правильно

trans

Перевести переданную языковую строку с помощью ваших языковых файлов:

PHP
echo trans('validation.required'):

trans_choice

Перевести переданную языковую строку с изменениями:

PHP
$value = trans_choice('foo.bar', $count);

URL-адреса

action

Сгенерировать URL для заданного действия контроллера. Вам не надо передавать полное пространство имён в контроллер. Вместо этого передайте имя класса контроллера в пространстве имён App\Http\Controllers:

PHP
$url = action('HomeController@getIndex');

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

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

asset

Сгенерировать URL к ресурсу (изображению и пр.) на основе текущей схемы запроса (HTTP или HTTPS):

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

secure_asset

Сгенерировать HTML-ссылку на ресурс (изображение и пр.) через HTTPS:

PHP
echo secure_asset('foo/bar.zip', $title, $attributes = []);

route

Сгенерировать URL для заданного именованного маршрута.

PHP
$url = route('routeName');

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

PHP
$url = route('routeName', ['id' => 1]);
+ 5.3 5.0

добавлено в 5.3 () 5.0 ()

secure_url

Генерирует полный HTTPS URL по заданному пути:

PHP
echo secure_url('user/profile');

echo 
secure_url('user/profile', [1]);

url

Сгенерировать HTML-ссылку на указанный полный путь.

PHP
echo url('user/profile');

echo 
url('user/profile', [1]);
+ 5.2

добавлено в 5.2 ()

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

PHP
echo url()->current();
echo 
url()->full();
echo 
url()->previous();

Прочее

+ 5.3

добавлено в 5.3 ()

abort

Выбросить HTTP-исключение, которое будет отображено обработчиком исключений:

PHP
abort(401);

Вы можете передать текст для вывода при ответе с этим исключением:

PHP
abort(401, 'Unauthorized.');

abort_if

Выбросить HTTP-исключение, если заданное логическое выражение равно PHPtrue:

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

abort_unless

Выбросить HTTP-исключение, если заданное логическое выражение равно PHPfalse:

PHP
abort_unless(Auth::user()->isAdmin(), 403);
+ 5.3 5.2 5.1

добавлено в 5.3 () 5.2 () 5.1 ()

auth

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

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

back

Функция PHPback() создаёт отклик-переадресацию на предыдущую страницу:

PHP
return back();

bcrypt

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

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

collect

Функция PHPcollect() создаёт экземпляр коллекции из переданного массива:

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

config

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

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

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

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

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

csrf_field

Функция PHPcsrf_field() создаёт скрытое поле ввода HTML, содержащее значение CSRF-последовательности. Например, используя синтаксис Blade:

PHP
{{ csrf_field() }}

// для 5.1 и ранее:
// {!! csrf_field() !!}
+ 5.3

добавлено в 5.3 ()

cache

Получить значение из кэша. Если в кэше нет заданного ключа, будет возвращено необязательное значение по умолчанию:

PHP
$value = cache('key');

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

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

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

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

csrf_token

Получить текущее значение CSRF-последовательности.

PHP
$token = csrf_token();

dd

Вывести дамп переменных и завершить выполнение скрипта.

PHP
dd($value);

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

добавлено в 5.2 ()

Если вы не хотите останавливать выполнение скрипта, используйте функцию PHPdump():

PHP
dump($value);

dispatch

Поместить новую задачу в очередь задач Laravel:

PHP
dispatch(new App\Jobs\SendEmails);

env

Получить значение переменной среды или вернуть значение по умолчанию.

PHP
$env = env('APP_ENV');

// Возврат значения по умолчанию, если переменная не существует...
$env = env('APP_ENV', 'production');

event

Отправить указанное событие его слушателям:

PHP
event(new UserRegistered($user));
+ 5.3

добавлено в 5.3 ()

info

Записать информацию в журнал:

PHP
info('Некая полезная информация!');

В функцию можно передать массив контекстных данных:

PHP
info('Неудачная попытка входа пользователя.', ['id' => $user->id]);

logger

Записать в журнал сообщение уровня «debug»:

PHP
logger('Отладочное сообщение');

В функцию можно передать массив контекстных данных:

PHP
logger('Вход пользователя.', ['id' => $user->id]);

Если в функцию не переданы значения, будет возвращён экземпляр логгера:

PHP
logger()->error('Вам сюда нельзя.');
+ 5.3 5.2 5.1

добавлено в 5.3 () 5.2 () 5.1 ()

factory

Функция PHPfactory() создаёт построитель фабрики моделей для данного класса, имени и количества. Его можно использовать при тестировании или заполнении БД:

PHP
$user = factory(App\User::class)->make();

method_field

Функция PHPmethod_field() создаёт скрытое поле ввода HTML, содержащее подменённое значение HTTP-типа формы. Например, используя синтаксис Blade:

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

  
// для 5.1 и ранее:
  // {!! method_field('delete') !!}
</form>

old

Функция PHPold() получает значение «старого» ввода, переданного в сессию:

PHP
$value = old('value');

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

redirect

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

PHP
return redirect('/home');

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

request

Функция PHPrequest() возвращает экземпляр текущего запроса или получает элемент ввода:

PHP
$request = request();

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

response

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

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

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

session

Функция PHPsession() используется для получения или задания значений сессии:

PHP
$value = session('key');

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

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

Если в функцию не было передано значение, то она вернёт значения сессии:

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

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

value

Если переданное значение — функция-замыкание, то вызвать её и вернуть результат. В противном случае вернуть само значение.

PHP
$value = value(function () {
  return 
'bar';
});

view

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

PHP
return view('auth.login');
+ 5.2 5.1 5.0

добавлено в 5.2 () 5.1 () 5.0 ()

with

Вернуть переданный объект. Эта функция в основном полезна для сцепки методов, где без неё не обойтись:

PHP
$value = with(new Foo)->work();

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.