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

Функции

перевод документация 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([[123], [456], [789]]);

// [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 = [100200300];

$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 = [100200300110];

$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 = [100200300];

$first head($array);

// 100

last

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

PHP
$array = [100200300];

$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();

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

Разметка: ? ?

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