Релиз Laravel 8.77
https://github.com/laravel/framework/releases/tag/v8.77.0
https://github.com/laravel/framework/releases/tag/v8.77.0
Релиз Composer 2.2
https://blog.packagist.com/composer-2-2/
Минимальные требования увеличены до PHP >=7.2.5. По статистике, менее 10% пользователей композера имеют более старую версию языка.
Увеличена производительность. Заметно уменьшено использование памяти и процессора. В некоторых случаях, до 90%.
Новый параметр конфигурации allow-plugins для повышения безопасности — не позволяет пакетам запускаться во время установки.
https://getcomposer.org/doc/06-config.md#allow-plugins
https://blog.packagist.com/composer-2-2/
Минимальные требования увеличены до PHP >=7.2.5. По статистике, менее 10% пользователей композера имеют более старую версию языка.
Увеличена производительность. Заметно уменьшено использование памяти и процессора. В некоторых случаях, до 90%.
Новый параметр конфигурации allow-plugins для повышения безопасности — не позволяет пакетам запускаться во время установки.
https://getcomposer.org/doc/06-config.md#allow-plugins
Напоминаю, что у нас есть дружелюбный Laravel-чат, где можно обсудить наши новости и получить помощь более опытных товарищей. Присоединяйтесь!
@laravel_web
В настоящее время аксессоры и мутаторы добавляются к модели путем определения методов
Новый способ определения поведения доступа к атрибутам / мутации в одном методе, отмеченном типом возврата
https://medium.com/@volodymyrafanasiev/новый-способ-записи-гетеров-и-сеттеров-в-laravel-9-2407d248c44f
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
Адаптер для Roach — мощного инструмента веб-скрапинга, аналога питоновского Scrapy.
https://github.com/roach-php/laravel
Релиз 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
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 сделал новый формат вывода команды
https://github.com/laravel/framework/pull/40269
route:list
в Laravel 9.https://github.com/laravel/framework/pull/40269
👍183👎5
В Laravel есть несколько интересных скрытых трейтов. Например
Когда условие
Conditionable
, который позволяет использовать методы when
и unless
в вашем классе. Методы принимают value
, callback
и default
.Когда условие
when
истинно, то будет запущен коллбек и возвращён его результат. Если ложь — то вернёт $this или дефолтное значение, если оно указано.👍100👎3
👍76👎10
Вышла обновленная версия Ignition, которая будет дефолтной страницей ошибок в Laravel 9. Но вы можете уже сейчас установить её для своих проектов на Laravel 8.
https://freek.dev/2168-ignition-the-most-beautiful-error-page-for-laravel-and-php-got-a-major-redesign
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
Из интересного:
— Возможность указывать общий Контроллер для группы маршрутов:
https://github.com/laravel/framework/releases/tag/v8.80.0
Из интересного:
— Возможность указывать общий Контроллер для группы маршрутов:
Route::controller(OrderController::class)->group(function () {—Новый метод сортировки ключей по колбэку sortKeysUsing():
Route::get('/orders/{id}', 'show');
Route::post('/orders', 'store');
});
$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