MATHEU
Имеет ли смысл разделять проект Symfony на два репозитория из-за фронтенда?
Михаил
Имеет ли смысл разделять проект Symfony на два репозитория из-за фронтенда?
это касается не только симфони. Вам нужно решить
1) будут ли разные команды работать над frontend и backend частью
2) не будет ли увеличиваться код экспоненциально из-за того, что у вас 2 проекта в одном репозитории
3) ваша ide сможет поддерживать работу с двумя разнородными проектами в одном репозитории
ответы на эти вопросы подскажут вам, стоит ли разделять или нет
Apxat
есть же понятие монорепозиторий и многие крупные конторы его используют, тут универсального ответа на вопрос нет, но я бы выбрал монорепозиторий
Юра
Я на одном проекте держал фронт и бек в одном репе. Каких-то минусов не обнаружил
Юра
Это не мешало никак фронт и бек разворачивать в отдельных подах
Андрей
Подскажите какие есть способы решения следующей задачи.
Есть проект (ядро), который взаимодействет с микросервисами (Есть некоторые API и сервисы для взаимодействия с микросервисами). Появилась задача отдавать ядро в эксплуатацию (докер образы ядра и микросервисов), но при этом в зависимости от заказчика отдавать определенные (не все) микросервисы.
Следовательно, в роекте - ядре не должно оставаться следа взаимодействия с микросервисами, которые не переданы заказчику.
Какие подходы в Symfony есть для такой задачи?
У меня только одна идея - взаимодействия с микросервисами засунуть в Бандлы и подтягивать только необходимые.
Может есть более удобный подход?
Anton
Anton
Андрей
Денис
А id нельзя десереализовать из json в свойство?
$json = '{"id": 16, "name": "Имя персонажа"}';
$character = $serializer->deserialize($json, Character::class, 'json', [
'groups' => ['character_group'],
]);
dd($character);
Михаил
Денис
Михаил
Лучше скинь mvp того, какие аттрибуты на поле id, какие сеттеры, есть ли конструктор
Денис
Михаил
Mikhail
Setter для id сделай
Кмк лучше в конструкторе принимать айди. Иметь сеттер на айди, значит иметь возможность менять у сущности айди, шо нелепо
Михаил
Михаил
А вообще лучше использовать нормальный сериализатор , так как хаки с публичными полями, сеттерами и конструкторами не всегда применимы
Юра
Лучше вообще в конструкторе принимать все не нуллабл поля
Юра
Или все поля без которых энтити не имеет смысла
Юра
Есть такое понятие как инварианты и вот в идеале когда в каждый момент времени энтити у тебя и не только энтити а вообще любой объект находится в валидных состояниях
Михаил
А вообще меня удивляет
Как доктрина МОЖЕТ записать значения в приватные поля, а сериализатор - нет?
Mikhail
ну доктрина юзает рефлексию
Mikhail
а сериализатор нет
Mikhail
ты ж можешь свой написать
Mikhail
мб для оптимизации так сделали
Михаил
ты ж можешь свой написать
да я всё что угодно могу написать. Просто там есть вроде PropertyAccessor да. Я думал он умеет в рефлексию
Михаил
Кстати, есть ещё способ
$caller = function($id) {
$this->id = $id
}
$caller->call($user, 123456);
Михаил
Спам-боты как всегда хорошо поддерживают диалог
Mikhail
?
Mikhail
я не бот
Mikhail
ты шо
Михаил
Mikhail
а
Михаил
я просто замечаю что они частенько в разгар беседы врываются
Михаил
а вообще страшно, а вдруг я робот
Mikhail
где нейронка а где фотка
Mikhail
шо уж про текст говорить
Mikhail
ахах
The Ant
Михаил
Раз уж мы тут мемы кидаем, то просто не могу не поделиться этим мемом
Михаил
Корми рыбов
Комментарии: pikabu.ru/link/VArYQPU9ej
Des1roer
а public function onKernelException(\Symfony\Component\HttpKernel\Event\ExceptionEvent $event): void
{ может ловить typeError ?
Kirill
ну вроде должен
Юра
Юра
Почитай тут может поможет
Юра
https://github.com/symfony/error-handler
Юра
Да с докой у него не сложилось
Юра
Раньше такого за симфой не замечалось
Юра
Но вот тут в комментах есть https://github.com/symfony/error-handler/blob/7.2/ErrorHandler.php
Des1roer
А если сифма 5.4 и до 6.2 не апнуться? как можно костылями это обыграть?
Des1roer
public function handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true)
{
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
$this->requestStack->push($request);
try {
return $this->handleRaw($request, $type);
} catch (\Exception $e) { // будь тут Throwable было б замечательно
if ($e instanceof RequestExceptionInterface) {
$e = new BadRequestHttpException($e->getMessage(), $e);
}
if (false === $catch) {
$this->finishRequest($request, $type);
throw $e;
}
return $this->handleThrowable($e, $request, $type);
} finally {
$this->requestStack->pop();
}
}
Des1roer
\Symfony\Component\HttpKernel\HttpKernel::handle
akella.su
Alexsander
Всем привет ! Подскажите в чем проблема , бд лежит в контейнере докера в env указал DATABASE_URL=mysql://root:test@db:3306/symfony
Alexsander
Не могу понять почему бд не видит вроде в одной сити
Nikolay
Alexsander
Он специфичный)
Alexsander
Nikolay
Pavel
Чисто статику отдавать?
Alexsander
Михаил
Alexsander
Alexsander
При запуске bin/console doctrine:database:create ожидаю увидеть ошибку , что бд созданна , а тут ощущение что не может подключиться
Alexsander
В env.local DATABASE_URL=mysql://root:test@db:3306/symfony
Михаил
Михаил
И кеш почисти
Михаил
И самое главное проверь что действительно ЭТО значение подтягивается
Alexsander
DATABASE_URL="mysql://root:test@db:3306/symfony"