Комментарии 18
кровь из глаз от «мидлвари»
А можно краткое введение в тему? И убрать англицизмы? Нельзя написать термин на Английском?
На русском определения будут менее понятны, потому что все документации читают на английском. На русском порой перевод может усложнить понимание
Для сравнения, просто предложения:
Можно отправить ответ с использованием представления, основанным на изменённых в посреднике данных вместо применения трансформатора.
Можно кинуть респонс с вьюхой, основанной на изменённых в мидлваре данных вместо применения ресурса.
Можно кинуть response с view, основанной на изменённых в middleware данных вместо применения json resource.
Когда я вижу сообщения из первого варианта, сразу складывается ощущение, что его составлял человек, абсолютно не владеющий английским языком. Ведь, дословно ни один язык не переводится, даже русский. Всегда важен контекст. И, при этом, сижу и пытаюсь понять о чём вообще пытается говорить человек.
Во втором случае понятно о чём идёт речь.
Третий случай часто встречаю у тех, кто ещё не выучил английский, чтобы свободно разговаривать, но уже пытается вставлять английские слова с целью выпендрёжа. Не понимаю я таких. Эти люди ещё говорят что-то типа "И тогда мейби ай го ту столовая перекусить" 🤮
Сказать по-правде, управление всем внутри одного конкретного файла, мягко говоря, очень неудобно, не функционально и не красиво.
Это очень мягко говоря. )))
Вот теперь можно и до 11 обновляться.
Есть лайфхак, ставите 10, по гайду обновляете до 11, получаете 11 но со старой структурой.
И получаете тонну проблем и ошибок. Не зря же в апгрейд гайде выделили фразу "не рекомендуется":
![](https://habrastorage.org/getpro/habr/upload_files/3ee/81c/93c/3ee81c93c6a0b90e306e9d5cc6c69711.png)
К каждой версией Laravel уходит все дальше и дальше энтерпрайза, и становится мусоркой для вчерашних джунов с курсов
Пост хороший
Ещё при анонсе структуры Laravel 11 понял что придется при установке нового проекта допиливать структуру ФРЕЙМВОРКА. Переезжаю на симфони
"Отсутствие специализированного файла, исключённого из репозитория, для хранения консольных команд разработчиков на личных машинах." - это что за ноухау). Почему не сделать общие дев команды
Общие дев команды можно и через art make:command
сделать в спец неймспейсе, например. Но это делать не будут, а также у каждого из нас свои хелперы, переписываемые постоянно, т.к. нет нужды хранить их, тем более в репозитории.
ради интереса, можно пример таких. команд. Ломаю голову, что это может быть, но придумать не могу, так как не сталкивался. у нас все команды попадают в репу, документируются в. md файле, и команды, которые разраб использует для отдладки локально могут потом использовать тестировщики, команды для генерации могут быть использованы другими разрабами в проекте, линтеры и чекеры также и тд и тп. Самое распространённое для дева идёт в makefile, что в пайплайнах в композер. такая система примерно, и личных команд нет совсем.
Можно. Вот три недавних личных хелпера из последнего проекта:
Личные команды
<?php
use App\Data\Public\Users\RegisterDto;
use App\Services\Integrations\UserIntegration;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Http;
Artisan::command('foo', function () {
$service = app(UserIntegration::class);
$service->register(RegisterDto::from([
'email' => 'john.doe@example.com',
'phone' => '+7 (123) 456-78-90',
'firstName' => 'John',
'lastName' => 'Doe',
'gender' => 'male',
'birthdayAt' => '1979-12-31',
'password' => 'qwe',
'passwordConfirmation' => 'qwe111',
]));
dd('ok');
});
Artisan::command('bar', function () {
dd(
preg_replace('/\[(.+)\|.+\]/', '$1', 'Проверяем [1231233 что-то ещё|https://example.com] ссылку')
);
});
Artisan::command('qwe', function () {
$response = Http::baseUrl(config('app.url'))
->asJson()
->acceptJson()
->throw()
->get(
route('public.product', [
'product' => 'E34875',
'city' => 12
])
);
$item = $response->collect('data.items')
->filter(fn (array $item) => $item['id'] === 876996)
->firstOrFail();
dd(
$item['is_available']
);
});
Держу их под рукой пока работаю над задачей. Как только закончу с ней, хелперы удалятся. И больше они такие никому не будут нужны.
первое это фикстуру для дева, второе код который можно запустить либо через тинкер, либо сэндбокс, третье, - функциональный тест. кроме среднего можно и нужно добавлять в репу
Вы спросили могу ли я прислать личные команды, я прислал. Ревью проводить не просил. А что касается их применения - это одноразовые команды под задачу и, как уже сказал раннее, как только её закрою, они также будут удалены за ненадобностью.
Этим командам в репозитории делать нечего, а через тинкер вводить всё это плохо - слишком много текста, который теряется при выходе из тинкера.
Что-то я не врубился, что не так. ещё не пробовал новую версию. Создание приложения через билдер выглядит очень круто. Исходная точка, из которой становится понятно из чего вообще проект состоит
Работа с новой архитектурой в Laravel 11