Laravel World

  1. Релиз Laravel 8.80

    Релиз 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
  2. Вышла обновленная версия Ignition, которая будет дефолтной страницей ошибок в Laravel 9. Но вы можете уже сейчас установить её для своих проектов на Laravel 8.

    Вышла обновленная версия Ignition, которая будет дефолтной страницей ошибок в Laravel 9. Но вы можете уже сейчас установить её для своих проектов на Laravel 8.
    https://freek.dev/2168-ignition-the-most-beautiful-error-page-for-laravel-and-php-got-a-major-redesign

    • 👍21
  3. В Laravel 8.79 добавят полнотекстовой поиск для MySQL и PostgreSQL. Разумеется предварительно нужно создать соответствующие индексы.

    В Laravel 8.79 добавят полнотекстовой поиск для MySQL и PostgreSQL. Разумеется предварительно нужно создать соответствующие индексы.

    • 👍107
  4. В Laravel есть несколько интересных скрытых трейтов. Например Conditionable, который позволяет использовать методы when и unless в вашем классе. Методы принимают value, callback и default.

    В Laravel есть несколько интересных скрытых трейтов. Например Conditionable, который позволяет использовать методы when и unless в вашем классе. Методы принимают value, callback и default.
    Когда условие when истинно, то будет запущен коллбек и возвращён его результат. Если ложь — то вернёт $this или дефолтное значение, если оно указано.

    • 👍100
    • 👎3
  5. Конструктор запросов имеет метод explain(), который позволяет мгновенно получить план выполнения запроса. Полезно при отладке медленных запросов.

    Конструктор запросов имеет метод explain(), который позволяет мгновенно получить план выполнения запроса. Полезно при отладке медленных запросов.

    • 👍121
  6. Если вам нужно промаппить постраничные данные, то используйте метод through, а не map. Map удалит экземпляр пагинации и вернёт коллекцию, в то

    Если вам нужно промаппить постраничные данные, то используйте метод through, а не map. Map удалит экземпляр пагинации и вернёт коллекцию, в то
    время как through работает с самими данными.

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

    В настоящее время аксессоры и мутаторы добавляются к модели путем определения методов 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

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


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

    @laravel_web

  9. Релиз Composer 2.2

    Релиз 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

  10. До релиза Laravel 9 остается всего около месяца.

    До релиза Laravel 9 остается всего около месяца.

    Что известно о новой версии фреймворка на данный момент:
    — минимальные требования: PHP 8+
    — анонимные миграции по умолчанию
    — подключен Symfony Mailer
    — переработанная страница ошибок
    — Query Builder Interface