Laravel World
8.46K subscribers
1.26K photos
25 videos
9 files
2.09K links
Laravel & PHP news
Download Telegram

Напоминаю, что у нас есть дружелюбный Laravel-чат, где можно обсудить наши новости и получить помощь более опытных товарищей. Присоединяйтесь!

@laravel_web
В настоящее время аксессоры и мутаторы добавляются к модели путем определения методов get{Foo}Attribute и set{Foo}Attribute на модели. Эти условно названные методы затем используются, когда разработчики пытаются получить доступ к свойству $model->foo на модели.

Новый способ определения поведения доступа к атрибутам / мутации в одном методе, отмеченном типом возврата Illuminate\Database\Eloquent\Casts\Attribute. В сочетании с “именованными аргументами” PHP 8+, это позволит разработчикам определять поведение доступа и мутации в одном методе с беглым, современным синтаксисом, возвращая экземпляр Illuminate\Database\Eloquent\Casts\Attribute.

https://medium.com/@volodymyrafanasiev/новый-способ-записи-гетеров-и-сеттеров-в-laravel-9-2407d248c44f
Релиз Laravel Roach
Адаптер для Roach — мощного инструмента веб-скрапинга, аналога питоновского Scrapy.
https://github.com/roach-php/laravel
Если вам нужно промаппить постраничные данные, то используйте метод through, а не map. Map удалит экземпляр пагинации и вернёт коллекцию, в то
время как through работает с самими данными.
👍16
👍6
Создавайте столько угодно дисков. И вместо
Storage::get('/invoices/1.jpg')
используйте
Storage::disk('invoices')->get('1.jpg');
Наглядно и удобно в поддержке.
👍44👎6
Конструктор запросов имеет метод explain(), который позволяет мгновенно получить план выполнения запроса. Полезно при отладке медленных запросов.
👍121
Вместо использования where() в маршрутах, вы можете задать глобальные паттерны в RouteServiceProvider.
👍127👎6
Релиз Laravel 8.78
https://github.com/laravel/framework/releases/tag/v8.78.0

Также зарелизено:
— Breeze 1.6.1
— Dusk 6.20
— Horizon 5.7.18
— Jetstream 2.5.1
— Octane 1.2.2
— Telescope 4.6.10
👍28
Maduro сделал новый формат вывода команды route:list в Laravel 9.

https://github.com/laravel/framework/pull/40269
👍183👎5
В Laravel есть несколько интересных скрытых трейтов. Например Conditionable, который позволяет использовать методы when и unless в вашем классе. Методы принимают value, callback и default.
Когда условие when истинно, то будет запущен коллбек и возвращён его результат. Если ложь — то вернёт $this или дефолтное значение, если оно указано.
👍100👎3
В Laravel 8.79 добавят полнотекстовой поиск для MySQL и PostgreSQL. Разумеется предварительно нужно создать соответствующие индексы.
👍107
Laravel 9 будет требовать PHP 8. А он уже стоит на ваших серверах?
Anonymous Poll
59%
Да
41%
Нет
👍76👎10
Начата работа над Laravel 10
👍104
Вышла обновленная версия Ignition, которая будет дефолтной страницей ошибок в Laravel 9. Но вы можете уже сейчас установить её для своих проектов на Laravel 8.
https://freek.dev/2168-ignition-the-most-beautiful-error-page-for-laravel-and-php-got-a-major-redesign
👍21
Релиз Laravel 8.80
https://github.com/laravel/framework/releases/tag/v8.80.0

Из интересного:

— Возможность указывать общий Контроллер для группы маршрутов:
Route::controller(OrderController::class)->group(function () {
Route::get('/orders/{id}', 'show');
Route::post('/orders', 'store');
});

—Новый метод сортировки ключей по колбэку sortKeysUsing():
$sorted = $collection->sortKeysUsing('strnatcasecmp');

— Метод Blade::render() для рендера строк:
Blade::render('Hello, {{ $name }}', ['name' => 'Claire']);
// Returns 'Hello, Claire'

Blade::render('@if($foo) Foo @else Bar @endif', ['foo' => true]);
// Returns 'Foo '
👍64
Отображение покрытия кода тестами в Laravel 9:
php artisan test --coverage
👍77
This media is not supported in your browser
VIEW IN TELEGRAM
Пре-релиз Laravel Dumper
Улучшенный вывод команд dump() and dd().
https://github.com/glhd/laravel-dumper
👍34
Laravel 9 — Что нового?

Новая версия фреймворка выйдет 8 февраля 2022 года и будет являться LTS (релиз с долгосрочной поддержкой), то есть основная поддержка будет осуществляться в течении 2 лет, а поддержка безопасности в течении 3 лет.

Релиз содержит следующие нововведения и улучшения: поддержка компонентов Symfony 6, Symfony Mailer, Flysystem 3, улучшенный вывод route:list, драйвера Laravel Scout, новый синтаксис аксессор/мутатор Eloquent и различных других исправлений ошибок и улучшений удобства использования.

Рассмотрим подробнее каждое нововведение:
https://laravel.demiart.ru/laravel-9-whats-new/
👍83👎1