Юра
Юра
https://github.com/microsoft/WSL2-Linux-Kernel
Юра
Т.е. все патчи баг фиксы и уязвимости должны туда мерджить
Юра
Но мы же все знаем как это все поддерживается обычно )
Dmitriy
под линуксом в винде тоже тормоза у симфони проектов )
Алексей
Юра
Ниче я думаю скоро симфони запилит свою виртуалку )
Anton
Gleb
AY
Проблему с тормозами диска на windows+wsl2+docker решил переносом vendor и var папок внутрь контейнера.
Страницы генерировались 5-10 сек до переноса, после 0,2-0,3 сек
HermanSochi 🌴
HermanSochi 🌴
Сергей
HermanSochi 🌴
AY
О, спс большое
Правда бываю перерывы а программе... но одно время, до покупки лицензии, на EAP пол года сидел
HermanSochi 🌴
HermanSochi 🌴
HermanSochi 🌴
Docker | PhpStorm
https://www.jetbrains.com/help/phpstorm/docker.html
Max
AY
Да всё норм работает.
php bin/console и composer я запускаю внутри докера, так что в windows нужен только docker
Denis
проект разворачиваешь в wsl, в убунте, и там все нормально и быстро работает. и без докера и с докером. и внутри докера и подключив папку с проектом как том. шторм из винды все файлы в wsl нормально видит
Maxim
Kirill
Всем привет! А подскажите, пожалуйста, что происходит, когда выполняется следующий код? Как я понимаю, СУБД выполнит запрос, а PHP будет по одной записи вытаскивать, а не держать все в памяти сразу. Если так, то СУБД ведь все равно будет все результаты в памяти держать? У меня вопрос, не будет ли проблем, если в таблице actions сотни миллионов записей?
$statement = $connection->prepare('SELECT * FROM actions');
$results = $statement->executeQuery();
foreach ($results->iterateAssociative() as $result) {
...что-то делаем с записью
}
Vlad
будут проблемы
Vlad
делай через курсор
Kirill
будут проблемы
Потому что СУБД выполнит весь запрос и будет всё результаты в памяти держать, да?
Vlad
да все будет в памяти
Kirill
Спасибо!
Юра
Всем привет! А подскажите, пожалуйста, что происходит, когда выполняется следующий код? Как я понимаю, СУБД выполнит запрос, а PHP будет по одной записи вытаскивать, а не держать все в памяти сразу. Если так, то СУБД ведь все равно будет все результаты в памяти держать? У меня вопрос, не будет ли проблем, если в таблице actions сотни миллионов записей?
$statement = $connection->prepare('SELECT * FROM actions');
$results = $statement->executeQuery();
foreach ($results->iterateAssociative() as $result) {
...что-то делаем с записью
}
В этом случае строки будут все в памяти, но массивы по одному
Pavel
Dmitry
Gleb
Да и на 4-ой ветке ещё много проектов. Её тоже имеет смысл знать.
Юра
Если уж они не сильно отличаются то лучше проект с симфони 4 тогда перевести на 6
Юра
Логично вроде
Anton
Юра
Как минимум на пхп 8 переехать можно после этого и это вроде должно ускорить
Юра
Да и рано или поздно всеравно возникнет необходимость когда либо какой-то бандл либо либа будет требовать более новой версии
Dmitry
Юра
А не знал
Юра
Ну короче работы думаю на месяц
Юра
За месяц мне кажется можно перенести
Gleb
Маленький дисклеймер) я говорил за курс Дмитрия) а не в целом что 4.4 такая же как 6.0) а так да, я не всегда понимаю почему до сих пор живы проекты на 4.4, когда уже и сама симфони рассказывает какие куски деприкейтед и надо переписывать.
Юра
Целесообразно или нет тут индивидуально
Юра
Компании не хотят тратить время на рефакторинг
Юра
Это надо выбивать и обосновать
Юра
Как минимум можно ветку создать пол 6 симфу и колупать постепенно
Юра
Тех долг страшная штука
Dmitry
Это надо выбивать и обосновать
Если это продуктовая компания, у которой один свой продукт, то есть смысл его обновлять и рефакторить.
А если это студия с сотней чужих проектов, то не заморачиваются.
Dmitry
Как минимум можно ветку создать пол 6 симфу и колупать постепенно
Четыре раза пробовал отдельную ветку или новый репозиторий для полного переписывания легаси создавать. И всегда забрасывал эту затею через неделю.
Это стопорит процесс доработок старого проекта пока пишется новый. Сама новая ветка устаревает. И так и не доходят руки доделать обновление до конца.
Так что теперь советую только эволюционное обновление прямо по живому.
Юра
Там еще был прикош какой-то несовместимости доктрины и пхп какой-то версии
Юра
Т.е. доктрина требовала более новый пхп, конечно выкинуть понятную ошибку или проставить поавильную версию пхп они не могут, поэтому ошибка долго гуглилась
The Ant
artem
всем утро) не могу понять ошибку, симфа 4 !! PHP Fatal error: Uncaught Error: Class '***\CoreBundle\CoreBundle' not found in /var/www/src/Kernel.php:23 в бандл файле шторм пишет что все ок. это ставится как субмодуль, и в срц и в вендоры ставил. та же ошибка
Gleb
Dump-autoload и ручное удаление кэша не помогает?
Gleb
Ещё вопрос может быть в версии composer, у меня было пару раз что на 2 не поднималось и надо было откатываться на 1-ю
Сергей
Я переезжал с CodeIgniter 3 на симфони 5, если кто не знает, в CI 3 даже неймспейсов не было. Я просто создал папку легаси, засунул в неё код проекта, сделал адаптеры для симфони инфраструктуры чтобы старый код чувствовал себя как дома, написал скрипт который расставит нужные нэймспейсы и зарефакторил вызовы сервисов под обновленную инфраструктуру с учетом неймспейсов. Неделю примерно потратил на адаптеры, неделю на рефакторинг php, неделя ушла чтоб шаблоны в твиг перегнать, ну и неделя на отладку перед первым запуском. Ну а дальше новые фичи делали по феншую симфони и параллельно затрагиваемый старый код причесывали, выносили из папки легаси. Так что я думаю сменить версию симфы вообще не проблема. Дорогу осилит идущий.
Сергей
Pavel
Помогите советом: как мне получить request в StateProcessor (api-platform) чтобы сохранить из реквеста client-ip и user-agent заголовки?
Pavel
я думал прокинуть нужные данные в контекст, через декоратор ContextBuilder, но api-platform вырезает все кастомное из контекста, а других путей придумать не могу
Pavel
Ivan
Всем привет!
Решил попробовать использовать для автодокументирования API bundle NelmioApiDocBundle, но столкнулся с проблемой, может кто знает как её обойти? У меня приложении идёт разделение API на frontendApi и backendApi, и соответственно они разнесены под разные домены, Symfony без проблем позволяет делать это. А вот как это описать в документировании? Там есть разделение на areas, но как я понимаю, оно не предполагает вынос их на разные домены.
Юра
https://swagger.io/docs/specification/api-host-and-base-path/
Юра
Vlad
ты можешь разнести area на разные домены
Vlad
это не проблема
Vlad
в роуте подставляешь нужную area
Ivan
Спасибо!)