Евгений
Спасибо
Alexey Mishurovskiy
Всем привет! чем генерировать красивые PDFки ? кроме wkhtml толи лыжи не едут, то ли я его готовить не умею.
Alexey Mishurovskiy
по уровню *деца как то так
Елнур
Alexey Mishurovskiy
Alexey Mishurovskiy
я говорю - может я его готовить не умею..
Alexey Mishurovskiy
пытались счет сделать - все поехало, печати, подписи, вообще все не так как в окне браузера
Alexey Mishurovskiy
может какие-то секреты верстки есть под PDF?
Елнур
если в основном таблицы, то через LibreOffice
Елнур
Можно посмотреть на сторону клиентских генераторов PDF на js
Елнур
Alexey Mishurovskiy
Vlad
у пхп кстати какие то беды с туллингом в плане офисов/пдф
Vlad
что то есть. но работает максимально убого
Елнур
Юра
Vlad
Юра
mpdf попробуйте у меня все ок с ним
Vlad
Vlad
там плюсы
Юра
А ну так. там главное чтобы быстро а не качественно)
Alexey Mishurovskiy
а по факту убогий язык как и го
Vlad
тот же самый офис. это вообще беда. сгенерировать красивую табличку и чтобы не текло это добро
Vlad
на сколько я знаю всего лишь один инструмент годный есть.
Елнур
Елнур
Vlad
И какое же?
https://github.com/wilsonglasser/spout
Vlad
оригинал box/spout
Null
Врываюсь с ноги, так сказать.
https://www.npmjs.com/package/pdfkit
Очень простая и удобная штука.
Алексей
Александр
Alexey Mishurovskiy
Александр
Это как?
Формируем html код, потом можно его напрямую в хром пульнуть через команду, он вернёт pdf файл. Либо можно использовать что то типо такого https://gotenberg.dev/
Nikolay
Diana Dvoryak
объясните пж, что означает эта строчка,
особенно: doctrine.orm.entity_manager
и выдает ошибку, deprecated,
как можно исправить?
Юра
Юра
Это Dependency Injection
Юра
Симфони вырезает из контейнера все непубличные сервисы которые никуда не инджектятся и в новой версии ты получишь ошибку что сервис was inlined or removed from container
Max
Публичные сервисы разве работают за пределами тестов?
Юра
Тестовый кернел просто по-моему отдельным пасом делает все сервисы публичными
Max
Неа, пришлось в тестовом конфиге писать для всех дефолт - public
Юра
Странно вроде в доке даде у них написано
Max
Мб я чёт не так вызывал 🤷♂
Max
Ты про юниты говоришь?
Юра
Да
Юра
Юра
If you need to test private services that have been removed (those who are not used by any other services), you need to declare those private services as public in the config/services_test.yaml file
Юра
А вон оно что
Max
Кстати, есть тупой вопрос.
Всегда думал что когда в юнит тестах мокаешь бд, реальная бд не нужна.
Но мы катнули в пайплайн без бд и тесты не взлетели. Wtf
Alexey Mishurovskiy
А что значит мокаешь бд
Max
По факту он льет фикстуры и прочее в бд, а после тестов стирает.
А нет способа обойтись без бд?
Alexey Mishurovskiy
Ну зависит от приложения
Alexey Mishurovskiy
Если приложение использует бд то бд надо
Alexey Mishurovskiy
В чем пррьлем в пайплайне либо подключиться либо поднять контейнер и потом его потушить
Max
А что значит мокаешь бд
Да разные тесты есть.
С дата фикстурами
Или просто с вызовом em->flush(), затем поиск
Alexey Mishurovskiy
Ну у меня вот есть биллинг в приложении, который теститс более чем 100 ассертами после разных состояний
Alexey Mishurovskiy
Как тут без бд
Max
Alexey Mishurovskiy
Прекрасно, как ты на тестах без бд отработаешь например внешние ключи или несовпадение типа, например при забытой миграции
Alexey Mishurovskiy
Задача у тестов в первую очередь убедится что новый код не сломал работу приложения
Max
Имхо это уже тестирование функционала, а не юнит
Alexey Mishurovskiy
Вам шашечки или ехать?
Павел
Ну и хорошйи юнит, где и мокать ничего не надо
Павел
А где надо мокать перемокать - что то идет не совсем так скорее всего