Павел
В симфе уже хз с какой версии авторезолвинг сущностей
Kirill
ну тогда возвращать нельзя)
Kirill
там Response требуется
Павел
Ну написал ViewSubscriber один
Kirill
нужно view эвент ловить
Shokha
ну тогда возвращать нельзя)
короче там по любому нельзя да😁
Kirill
#[route(/user/{id})] action(User $user){ return $user ; }
а ещё нужен контроллер
Kirill
и зарегать его в контейнере
Павел
Ну все закидал фактами.
Kirill
так я тебе привёл ВЕСЬ код
Павел
Но вообще все словоблудие, 10 или 30 символов))
Kirill
тупо 2 строчки, можно даже в одном файле)
Павел
так я тебе привёл ВЕСЬ код
А вот опять же, это плохо или хорошо?
Kirill
Но вообще все словоблудие, 10 или 30 символов))
так и у тебя тоже, добавить интерфейс на репу - тоже не рокет сайнс
Kirill
А вот опять же, это плохо или хорошо?
это то, почему симфа всё же про адекватный код, а ларка про фигак-фигак
Kirill
Это все беготня лишняя, и время
так если лишнее всё - вон ларка, говорю же
Kirill
там ещё всё проще и быстрее
Павел
Shokha
но я согласен с Кириллом что ларке быстрее можно писать говно чем на симфе
Shokha
также как и Yii2 )
Kirill
А что в приведенном тобой коде неадекватного?
действительно, у тебя энтитя внезапно вьюшка...
Kirill
ну т.е. как спросить что не так, отадавая html изнутри репозитория
Павел
ну т.е. как спросить что не так, отадавая html изнутри репозитория
Ну ты опять пошел по верхам теории какой то)))
Павел
У тебя задача, вывести инфо о пользователе. Реализация понятная и готовая
Павел
В чем неадекватность?
Kirill
class MyRepository { public function findUserById(...): string { return '<!doctype html>... } }
Kirill
и понеслось
Павел
Если бы ты написал свой ДДД, что задача бы реашалачь лучше?)
Kirill
смешивать представление и логику - это всегда было говнищем)
Павел
какие верхи?
Ну типа надо слои, тут надо что то еще. Кому надо, зачем надо?
Павел
Какую логику ты будешь там тестировать, чтобы ее выделять?
Kirill
А где в твоем коде вообще логика?
а по-твоему энтитя юзера без логики?
Kirill
она там в бд ходит в ларке как бы
Павел
а по-твоему энтитя юзера без логики?
Я не знаю что у тебя там)) я вижу быстрый код и решение задачи.
Kirill
там ещё всякие фильтры есть, и прочее
Павел
она там в бд ходит в ларке как бы
Это актив рекорд. С ним жили десятки лет и на YII и на Ларе. Вроде живут до сих пор))
Kirill
хорошо, знаешь что такое "представление"?)
Павел
и причем тут актив рекорд, если в твоем коде его нет , если говорить про роутер
Kirill
ну там в понятиях MVC или ещё как
Kirill
хреня, которая видна абстрактному юзверю, так?
Павел
Ну допустим
Kirill
на дефолтном лендинге это, допустим, twig, пока верно?
Kirill
ну точнее объект с твигом
Павел
Ну зависит что ты пишешь, ну пусть будет
Kirill
ну вот если там лендинг на чистом html
Kirill
почему ты не засовываешь этот html в энтити?
Павел
ближе к сути плз))
Kirill
ну так уже суть)
Павел
почему ты не засовываешь этот html в энтити?
Потому что в данном контексте мне это не надо.
Kirill
я просто не понимаю почему точно такая же вьюшка для json из энтити - это норм, а для html - нет
Kirill
причём различия только в 4х буковках
Павел
Есть контекст
Kirill
не, ну это не честно
Kirill
так-то и говнокод норм потому что)
Kirill
ибо исходя из контекста это было норм
Павел
Если в данном контексте задача решается, не имеет сайд эффектов и мне удобно запихать html в сущности, то пусть так и будет
Kirill
и битрикс тоже внезапно адекватен тогда
Павел
просто в бОльшинстве случаем - это не удобно
Павел
и битрикс тоже внезапно адекватен тогда
Битрикс живет и зарабатывает.
The Ant
Пофигу же не?
Kirill
самая большая проблема ВСЕГДА в саппорте
Павел
А наши тру проекты не выходят из стартапов из-за дороговизны "крутых разрабов" и их времени на тасках
Kirill
а точнее в том самом моменте, когда у тебя есть Х решение и Y задача в него не вписывается
Павел
самая большая проблема ВСЕГДА в саппорте
Так у саппорта тоже есть контекст
Павел
Вот возьмем те же репозитори
Kirill
и тяжесть саппорта начинается с момента, когда у тебя помимо X решения появляется Y решение
Kirill
а потом за ним ещё Z
Kirill
и V
Павел
Ты пишешь и тратишь время на каждый репозиторий и его интерфейс, теряешь время на навигацию на контрактах. А я этого не делаю, но когда мне надо я просто поменяю нейминг без массового рефакторинга