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

Функции

перевод документация 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. trans
    17. 5.17. 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. url
    6. 6.6. secure_url
  7. 7. Прочее
    1. 7.1. auth
    2. 7.2. back
    3. 7.3. bcrypt
    4. 7.4. collect
    5. 7.5. config
    6. 7.6. csrf_field
    7. 7.7. csrf_token
    8. 7.8. dd
    9. 7.9. dispatch
    10. 7.10. env
    11. 7.11. event
    12. 7.12. factory
    13. 7.13. method_field
    14. 7.14. old
    15. 7.15. redirect
    16. 7.16. request
    17. 7.17. response
    18. 7.18. session
    19. 7.19. value
    20. 7.20. view
    21. 7.21. 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 ($key$value) {
  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.1

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

array_has

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

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

$hasDesk array_has($array'products.desk');

// true
+ 5.0

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

array_last

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

PHP
$array = [350400500300200100];

$value array_last($array, function($key$value)
{
  return 
$value 350;
});

// 500

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

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 ($key$value) {
  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:

PHP
$path app_path();

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

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

base_path

Получить полный путь к корневой папке приложения:

PHP
$path base_path();

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

PHP
$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.2

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

resource_path

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

PHP
$path resource_path();

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

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

storage_path

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

PHP
$path storage_path();

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

PHP
$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

Выполнить над строкой 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

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
$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

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]);

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.0

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

secure_url

Функция PHPsecure_url() генерирует HTML-ссылку на указанный путь через HTTPS.

PHP
echo secure_url('foo/bar'$parameters = []);

Прочее

+ 5.1

добавлено в 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() !!}

csrf_token

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

PHP
$token csrf_token();

dd

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

PHP
dd($value);
+ 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.1

добавлено в 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() возвращает экземпляр переадресатора для выполнения переадресаций:

PHP
return redirect('/home');

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');

with

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

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

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

Разметка: ? ?

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