Рубрики
Uncategorized

Десять вспомогательных функций Laravel, рекомендуемых для использования

Автор оригинала: David Wong.

array_dot()

array_dot()

$array = [
    'user' => ['username' => 'something'],
    'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
];
$dot_array = array_dot($array);
// [user.username] => something, [app.creator.name] => someone, [app.created] => today

array_dot()

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

$array = [
    'user' => ['username' => 'something'],
    'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
];
$name = array_get($array, 'app.creator.name');
// someone

Если ключ не существует, функция array_get() также принимает необязательный третий параметр в качестве значения по умолчанию.

$name = array_get($array, 'app.created.name', 'anonymous');
// anonymous

public_path()

Возвращает полный абсолютный путь к общему каталогу в приложении Laravel. Вы также можете передать путь к файлу или каталогу в общедоступном каталоге, чтобы получить абсолютный путь к ресурсу. Он просто добавит public_path() к вашим параметрам.

$public_path = public_path();
$path = public_path('js/app.js');

Str::заказанный Uuid()

(1) Функция сначала генерирует uuid метки времени. Этот UUID может храниться в индексированных столбцах базы данных. Эти идентификаторы UUID создаются на основе меток времени, поэтому они сохраняют индекс вашего контента. ((2) При использовании в Laravel 5.6 это приведет к исключению Uuid Ramsey, которое не удовлетворит исключение dencyException. Чтобы решить эту проблему, просто выполните следующие команды для использования пакета moontoast/math composer require laravel /passport=~7.0

use Illuminate\Support\Str;
return (string) Str::orderByUuid()
// A timestamp first uuid

str_plural()

Преобразует строку в форму множественного числа. Эта функция поддерживает только английский язык.

echo str_plural('bank');
// banks
echo str_plural('developer');
// developers

маршрут()

Создает URL-адрес маршрута для указанного маршрута.

$url = route('login');
// If routing accepts parameters, you can simply pass them to an array as a second parameter.
$url = route('products', ['id' => 1]);
// If you want to generate a relative URL instead of an absolute one, you can pass false as the third parameter.
$url = route('products', ['id' => 1], false);

нажмите()

Примите два параметра: значение и закрытие. Значение будет передано в закрытие, а затем значение будет возвращено. Возвращаемые значения закрытия не имеют значения.

$user = App\User::find(1);

return tap($user, function($user) {
    $user->update([
        'name' => 'Random'
    ]);
});
/**
  * It does not return a Boolean value, but a User Model. If you do not pass closures, you can also use any method of User Model.
  * Regardless of the method actually returned, the return value will always be the value. In the following example, it will return the User Model instead of the Boolean value.
  * The update method returns a Boolean value, but because tap is used, it will return to User Model.
  */ 
$user = App\User::find(1);

return tap($user)->update([
    'name' => 'SomeName'
]);

дамп()

Переменные, заданные дампом, также поддерживаются для одновременной передачи нескольких переменных. Это очень полезно для отладки.

$dump($var1);
dump($var1, $var2, $var3);

str_slug()

Создайте удобный для URL-адреса слиток из заданной строки. Вы можете использовать эту функцию для создания ярлыка для публикации или названия продукта.

$slug = str_slug('Helpers in Laravel', '-');
// helpers-in-laravel

необязательно()

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

$user = User::find(1);
return optional($user)->name;

Первоначальный адрес: https://tutsforweb.com/10-bes…