О себе: в разработке с 2001 года, в веб-разработке с 2008 года. Продолжаю учиться и делюсь опытом. Бэкенд разработка на PHP, Laravel с использованием Git, MySQL / PostgreSQL, Redis, MongoDB.
Эх, почему нет механизмов позволяющих иметь подобный простой, выразительный дизайн, но и при этом делать всё это за один цикл. Ну не могу я себя перебороть, когда понимаю, что мне надо по листу пройтись 5 раз, вместо одного...
Очень содержательное видео с конструктивным разбором и советами применения, спасибо большое! DTO используется наряду с Порто на моем месте работы, в одном из Ташкентских финтехов. Ваши видео кстати входят в обязательное ознакомление в онбординге бекенд разработчиков 😁. Всех благ, не пропадайте
Это решается в настройках проводника. Сейчас он у вас не показывает расширение файла. По этому вы просто дописываете php в название, но не заменяете расширение.
Я может невнимательно смотрел видосы и документацию Apiato, но кто нить подскажет куда сводные таблицы пихать?! У меня есть секция MusicSection, контейнеры внутри: Artist, Album, Track, Tag, Playlist. Есть сводные таблицы типа artist_album (Когда альбом может быть у нескольких исполнителей), track_playlist (Когда трек может быть в разных плейлистах). Куда и как оформлять такие таблицы по канонам Porto?! А еще например есть контейнер Country (Страна), может быть вообще у любого контейнера в любой секции - это в Ship Лучше вынести?
Предлагаю заглянуть в базу - "Чистая архитектура" Глава 34, параграф "организация и инкапсуляция". Так же в этой же книге обсуждается и по каким принципам организовывать код в модули. Мартин сразу предостерег что организация модулей которая лежит на поверхности, именно то как ты и описал, может оказаться не верной, но начать можно именно так.
при обновлении композера возникла ошибка: Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1 заменил в composer.json: "require": "laravel/framework": "6.0.*", на "^6.*.*" и всё обновилось)
Верно ли я понимаю, что какой-то низкоквалифицированный араб (если судить по его проектам на гитхабе) придумал свой "гениальный" архитектурный паттерн, который секта ларавистов подхватила и сейчас пытается представить как что-то великое и сопоставимое с чистой архитектурой?
Нет, вы понимаете не верно. Как минимум ошибка в сборе данных об авторе Porto которая и привела к ложным выводам. Так же сам анализ Porto почему-то не заставил задуматься о том что была допущена ошибка.
@@DmitryAfanasyev неверные? Этот чел пилит ларадок. Ларадок карл! Это же"инструмент" для yнтepoв, которые даже линукс на базовом уровне не могут освоить. Если бы я, будучи под синькой, вдруг что-то закоммител в эту репу, то на следующей день уволился бы и дропнул свой гитхаб с позором
@@DmitryAfanasyev И что это вообще за терминология? Какие-то корабли, какие-то контейнеры, моря. Где нормальный академический язык? Use casess, bound contexts, агрегаты и тд.
@@DmitryAfanasyev Кстати, только что чекнул его stackoverflow, вопросы ультра примитивные. Отвечает тоже только нубам. Короче, как по мне, этот чел просто пиарится на примитивщине и зарабатывает на этом бабки будучи крепким мидлом. Эдакий виндертрон-laravel-архитектор
@@vatakiller а с чего это "use cases" и тп. стали вдруг эталоном и "академическим языком"? Это точно такие же определения от другого разработчика. И почему разрабатывая отдельную концепцию запрещается вводить свои определения?
а может ли быть подход структурирования папок вроде такого: ? Есть основная папка "модуля" app/Blog/ в ней вложены её контроллер, обсервер, репозиторий, реквест и тп. И так же другие "модули" app/Shop/.... app/Delivery/... т.е. все файлы которые относятся к конкретному "модулю" все в его папке. Так можно делать? Или лучше как в курсе? Если можно, то какие + и - подходов, если есть таковые? Спасибо.
Да, можно. Это, так сказать, первый шаг в кастомную модульность. Но лучше не придумывать велосипед и изучить уже существующие пакеты реализовывающие модульность для Laravel. Например Porto/Apiato.
Если в установили более новую версию xampp, то вы можете заменить папки apache, php и phpMyAdmin скачав более старую версию xampp(не забудьте эти папки перед заменой где-то сохранить либо просто переименовать). Теперь у вас должно быть все как в курсе
При разделении ответственностей - серверными делами занимаются сисадмины и девопсы. Если разраб "и швец и жнец и на дуде игрец" то может забрать ответственность у другого... но зачем?
У вас отличная подача, благодаря вам начинаю понимать паттерны. Спасибо! 24:07 - "Давай попробуем. Да, я уже на самом деле попробовал, сейчас расскажу тебе, не переживай" Вы на этой фразе мега харизматичный)
1. как удалить модель из кэша, после апдейта или после добавление новой модели? 2. а как проверить на уникальность например в CreateUserAction (хотелось бы запрос сделать в БД, а не в кэш. или здесь не надо юзать UserRepository, а юзать User::query(), хотя... наверное нет)?
1 - можно через Observer обновить кэш для модели; 2 - в laravel есть CreateOrUpdate - если не найдет, то создаст новую, если найдет, то обновит то что нашел.