Ознакомьтесь с новыми захватывающими функциями Laravel 5.8
Опубликовано: 2022-01-02Laravel, выдающийся PHP-фреймворк, созданный Тейлором Отвеллом еще в 2011 году, является лучшим среди всех PHP-фреймворков. Он доступный, мощный, надежный и позволяет создавать удивительные приложения.
Эта структура PHP помогает разработчикам реализовать шаблон MVC, абстрагирующий сложные функции. Обновления являются обязательными и предназначены только для улучшения жизненного цикла приложения.
Laravel выпускает обновления примерно каждые 5-6 месяцев, и в этом году Laravel также выпустил версию 5.8 (март 19-го), которая недоступна для использования. Вы можете нанять разработчика Laravel, чтобы выполнить задачу как можно скорее.
Постоянное улучшение по сравнению с предыдущими версиями принесло разработчикам некоторые из интересных функций. Давайте взглянем на некоторые удивительные функции, которыми будет обладать эта новая версия.
- Автоматическое разрешение политик
- Поддержка Carbon 2.0
- Имеет сквозные красноречивые отношения
- Защита токенов и хеширование
- TTL кеша
- Конфигурация часового пояса планировщика
- Artisan :: улучшения вызова
- Вспомогательные методы имитационного / шпионского тестирования
- Улучшения Artisan serve
- Красноречивый метод высшего порядка
- dotenv 3.0
- Новые шаблоны обработки ошибок
Автоматическое разрешение политик:
Более ранние версии Laravel имели модели или политики в нетрадиционных местах и должны были быть зарегистрированы в классе AuthServiceProvider. В этой версии модели и политики будут храниться в обычных местах.
Вам больше не нужно вручную регистрировать политику авторизации модели. Эта новая версия будет автоматически обнаруживать политики, следуя стандартным соглашениям об именах Laravel.
Если политики, которые вы хотите зарегистрировать, находятся в другом месте, зарегистрируйте обратный звонок, используя
Ворота :: guessPolicyNamesUsing .
Вы можете вызвать этот метод из метода кабины AuthServiceProvider следующим образом:
используйте Illuminate \ Support \ Facades \ Gate;
Gate :: guessPolicyNamesUsing (function ($ modelClass) {
// возвращаем имя класса политики ...
});
Поддержка Carbon 2.0:
Хорошие новости для разработчиков, теперь вы можете сделать так, чтобы ваше приложение по умолчанию использовало CarbonImmutable.
Этот пакет расширяет класс PHP Date and Time и упрощает работу с Date и Time. Выбор класса зависит от пользователя.
HasOneThrough Eloquent отношения:
Эта новая функция почти аналогична той, что предлагается в Rails. Возьмем пример. Предположим, у нас есть три модели: поставщик, учетная запись и история учетной записи. Проще говоря, у поставщика есть учетная запись, а у учетной записи - одна история учетных записей.
В более ранних версиях для получения истории учетной записи мы писали: $ supplier-> account-> accountHistory. Но теперь, благодаря этим красноречивым отношениям, вы сразу напишете
$ history = $ supplier-> accountHistory
во всей модели счета.
публичная функция accountHistory ()
{
Вернуть $ this-> hasOneThrough (AccountHistory :: class, Account :: class);
}
Хеширование токенов защиты токенов:
Благодаря функции защиты токенов теперь вы можете сохранять токены API в виде хэшей SHA-256. Раньше токен API хранился в виде текстовых токенов, которые теперь были улучшены. Это повысило безопасность и способ хранения сгенерированных токенов.
TTL кеша:
Параметр кеширования с минут теперь изменен на секунды. Это улучшение сделано для более точного и детального контроля срока годности. Эта функция соответствует стандарту библиотеки кэширования PSR-16.
Кроме того, не забывайте всегда обновлять кеширование вашего приложения до секунд.
// Laravel 5.7 - хранить предмет в течение 5 минут ...
Cache :: put ('foo', 'bar', 10);
// Laravel 5.8 - хранить предмет в течение 5 секунд ...
Cache :: put ('foo', 'bar', 10);
Конфигурация часового пояса планировщика:
Эта новая версия Laravel позволяет вам настроить часовой пояс для указанной задачи, используя метод часового пояса.

$ schedule-> команда ('запустить')
-> ежедневно ()
-> в ('15: 00 ')
-> часовой пояс ('Америка / Чикаго');
В более ранней версии это считалось сложной задачей, поскольку вам приходилось делать это для каждой запланированной задачи. Но теперь вам нужно определить метод ScheduleTimezone в файле app / Console / Kernel.php.
Затем изменения будут прикреплены к каждому планировщику в списке.
/ **
* Получите часовой пояс, который должен использоваться по умолчанию для запланированных событий.
*
* @return \ DateTimeZone | строка | ноль
* /
защищенная функция scheduleTimezone ()
{
вернуть "Америка / Чикаго";
}
Улучшения Artisan call:
В этой новой версии вы можете создавать команды Artisan, используя метод Artisan :: call. Команды теперь можно передавать в виде массива в одной строке, как показано ниже:
Artisan :: call ('migrate: install --database = foo');Улучшения Artisan serve:
В предыдущих версиях порт по умолчанию был назначен в 8000, на котором будет работать приложение. И если на этом порте запущена какая-либо другая команда, она, вероятно, не сможет обработать новую команду.
Новая версия просканирует порт до 8009, что позволит разработчикам запускать несколько приложений одновременно.
Вспомогательные методы Mock / Spy Testing:
Мок-тестирование только поможет разработчику сделать код более понятным и читаемым. Методы mock и spy добавлены в базовый класс тестового набора Laravel. Этот метод автоматически привяжет класс к контейнеру для имитации.
публичная функция testBasicTest ()
{
$ this-> mock (TransactionService :: class, function ($ mock) {
$ mock-> shouldReceive ('find') -> once () -> with (1) -> andReturn (['id' => 1, 'name' => 'foo'])
});
}
Высший порядок или где красноречивый метод:
В предыдущих версиях мы определяли запрос с заданной областью с помощью «или» в обратных вызовах закрытия. С введением метода «высшего порядка» orWhere вы можете легко объединить эти запросы области в цепочку без использования замыканий. Например:
$ users = App \ User :: emailVerified () -> orWhere-> active () -> get ();
dotenv 3.0:
Для управления новым файлом .env вашего проекта Laravel 5.8 будет поддерживать новый dotenv 3.0. Этот новый dotenv 3.0 поддерживает многострочные строки и пробелы в конце строк. Эта функция будет большим подспорьем там, где для безопасности требуются многострочные ключи API.
Новые шаблоны страниц ошибок:
Новые страницы ошибок представлены с очень минималистичным дизайном, которые подходят для широкого спектра веб-сайтов и приложений. Можно даже настроить страницы ошибок или импортировать ранее разработанную страницу ошибок.
Есть много компаний-разработчиков Laravel для разработки приложений. Эта новая версия - сокровищница некоторых удивительных функций. В приведенном выше контенте перечислены некоторые из заметных улучшений и функций, расширенных в новой версии Laravel 5.8.
Некоторые функции можно легко интегрировать в веб-сайты, чтобы сделать их более функциональными и удобными.
Чтобы обновить работающее приложение до Laravel версии 5.8 , вы можете ознакомиться с руководством по обновлению и примечаниями к выпуску на официальном сайте.
