Pull to refresh

Comments 32

Судя из расписания, эта версия останется актуальной год, а обновления безопасности будут выпускаться вплоть до 2025 года.

Как раз судя из расписания по вашей же ссылке — 9ка не LTS ;)

Непомню где , но обэтом писали что Тейлор втихаря отменил LTS в Laravel 9

В твиттере Тейлор писал, что отказались от LTS из-за issue в симфони, чтоб в версии симфони 6.1 поднять требования до php 8.1

Всегда удивляло то, что LTS-версии laravel строились на не-LTS зависимостях symfony. Думал - неужели это не стрельнет в ногу? В общем, таки стрельнуло

Добрый день,

спасибо за статью, познавательно.

Одно уточнение: я сейчас на восьмёрке пишу, и ->controller(UsersController::class) тут уже есть. Правда, это восьмёрка какая-то из последних, 8.75 (при загрузке версию устанавливала как "8.*")

Ну и пара вопросов:

  1. индексацию полнотекстовую делает тоже скаут? Или это внутри фреймворка из коробки?

  2. чтобы поиграться, сохраняя возможность работать на прежних версиях, какую версию php вы сейчас используете? Похоже, вы ставите всё на компьютер прямо. А с какими при этом самыми старыми версиями фреймворка вы всё ещё можете работать с той же машины?

(в продолжение вопроса 2)

Я запланировала как-то с девяткой перейти в докер. При этом в докере я разбираюсь пока чисто паразитически (девопс настроил, а я могу запустить/остановить), вот книжку взялась читать про него. Вопрос, а тем ли я занята, не бессмысленная ли это трата времени. Насколько это разумный выбор, вместо банальной переустановки локального xampp.

Прошла по ссылке... гм. Похоже, девятка рекомендуемо ставится именно через sail. То есть, на инсталляционной странице https://laravel.com/docs/9.x/installation composer идёт уже после sail.

... и для восьмёрки уже та же последовательность в документации. Сначала про сейл, потом уже про композер. Я отстала от жизни.

Разберитесь с докером, это не сложно и удобно. Вам могут потребоваться разные версии в разных проектов не только PHP. В добавок получите лёгкость переноса рабочей среды между своими машинами и возможность поделиться средой с коллегой.

У меня стоит сразу и 7 и 8 версия языка на компе, я переключаюсь между ними настройкой нужного. Я занимаюсь поддержкой Ларавел 5, Битрикс (посыпаю пеплом за это свою голову) и вот пробую Ларавел 9. Пятая версия и Битрикс идут у меня только на php7.2, поэтому и приходится держать обе. Изучение докера - отличная идея, хотя я предпочел не книги, а гугление и практику. Еще смотрю в сторону podman, потому что докер сжирает слишком много ресурсов.

А что именно вы делаете, когда "переключаетесь настройкой нужного"? Вписываете в апач каждый раз, какую версию php брать (единственное, что приходит в голову)?

Кстати да, если есть эта опция, "переключаться настройкой нужного", то для чего вообще люди морочатся с докерами и др. (может быть, podman менее замороченный - впервые про него слышу. С докером точно предварительных вложений времени на изучение больше, чем новый блог на ларе слепить). Вроде бы, основной аргумент же в том, что они позволяют избавить локалку от непосредственной установки вот этого вот всего. Но если можно держать сразу несколько версий (вот этого вот всего) и переключаться, то какова проблема, которую решают докер и ко.

Переключаться довольно затратно по времени и необходимой информации в голове, поэтому это решение ну прям сильно такое себе. Переключаюсь командой смены пути к исполняемому файлу для bash команды php.

Докер придуман для поддержания единого окружения на разных машинах, а возможность делать разное окружение на одной машине уже скорее бонус. Ну и как я уже сказал, это в теории проще чем постоянно переключаться.

А на каком окружении вы пытаетесь поднять докер, если не секрет?

поднять его можно, но мне сейчас проще даже пока так, но подробности я пожалуй не буду здесь освящать потому что никогда не знаешь когда NDA нарушаешь :)

Сейчас проверил, Ларавел до версии 7.29.0 не поддерживал версию языка выше 7.2

Индексация не связана со Скаут, я поставил рядом их потому что тема близкая, теперь вижу, что зря, это немного путает.

И кстати полнотекстовый индекс и whereFullText методы появились в 8.79.

Если бы вы могли поправить текст, было бы здорово, ибо действительно может запутать.
UFO just landed and posted this here

А на**** надо если можно из phpunit взять ху** х**к и в продакшн! а то что есть альтернативы, я уж не говорю о том что бы выпустить свой пакет - не, не слышали. Особенно обожаю когда в очередном мажорном релизе сделали "более красивое отображние ошибок", без этого версия просто не может быть мажорной!!!

О каких альтернативах или своих пакетах идёт речь? Касательно указанного выше кода

UFO just landed and posted this here

Я не разрабатываю сам фреймворк, поэтому может ошибусь, но разве Illuminate\Mail\Mailable не собственная разработка команды Ларавел?

Illuminate\Mail\Mailable то их разработка. Но претензии к использованию PHPUnit (конкретно PHPUnit\Framework\Assert) в продакшн коде. Зависимость от библиотеки тестирования в прод коде — не очень хорошо.

по поводу примера с scopeBindings.

У вас там в ссылке 2 ошибки: user/1/pots/5 - а должно быть users/1/posts/5 точно 404 без всяких scopeBindings

Спасибо, хорошее замечание. Сменю скрин по-позже.

А еще мы можем передавать в новую функцию параметры роута, статус HTTP и дополнительные заголовки:

невероятно, в 2022 году в фреймворке для работы по HTTP проктолу теперь можно передавать заголовки ответа!!!! Браво! Рекомендую забыть этот фреймворк и обратить внимание на symfony, в котором всё что вышло ларе в 2022 году уже было в sf 10 лет назад.

Ну, справедливости ради, с отправкой заголовков и до 2022 было всё отлично.
Просто в статье на этом действительно сделан акцент, из-за чего может сложиться неправильное впечатление.
А по своей сути, to_route — обычный сахарок, более короткая запись.
if (! function_exists('to_route')) {
/**
* Create a new redirect response to a named route.
*
* @param string $route
* @param mixed $parameters
* @param int $status
* @param array $headers
* @return \Illuminate\Http\RedirectResponse
*/
function to_route($route, $parameters = [], $status = 302, $headers = [])
{
return redirect()->route($route, $parameters, $status, $headers);
}
}

Но принципиально ничего нового этот хелпер не привносит.

Как и новая страница обработки ошибок, как и половина новых фич в каждой новой версии Laravel (:

Так я же с этим и не спорю. И восьмая версия фактически такая же была.

Я бы наверное седьмую версию назвал мажорной. А 8 и 9 на мажорные слабо тянут.

Насколько я помню сменился подход к версионированию.

9ка на мой взгляд ставила основной целью переход на PHP 8.0, добавление типизаций и аннотаций, а так же обновление компонентов symfony которые начали требовать PHP 8.0.

Всё остальное - так, для вида что что-то таки добавили. Хотя вот допиливание страницы ошибки уже как-то надоело, особенно в условиях когда она адски тупит и не работает при ajax запросах. Я давно отказался от нее как раз потому что ждать пока оно отрендерится слишком долго, иногда исправление ошибки занимало меньше времени чем ожидание вывода информации об ошибке. В итоге использую намного более простое решение в виде своего "костыля" (если интересно - swayok/laravel-extended-errors) + отправку в этом же формате себе в Telegram канал =)

Sign up to leave a comment.