Павел
Ну вот было бы круто у кого реально получилось решить
Думаю у 99% бэкендеров, 1% просто ушли обратно на фронт)
Юра
Копируй код в контейнер и синкай. Есть даже тулзы специально для этого
Alexey Mishurovskiy
Копируй код в контейнер и синкай. Есть даже тулзы специально для этого
Это как ? Типа разрабатывает в одной папке при сохранении туда копируеш?
Alexey Mishurovskiy
Как раньше по ssh разрабатывали?
Юра
Да
Alexey Mishurovskiy
👍 уровень для 2023 года
Юра
А никто и не говорил что мак это уровень. Они хорошо делают железо
Юра
И дизайн
Юра
И деньги )
Юра
Юра
Вот почитай сверху
Юра
Я когда это прочитал такой типо, эээ, мы точно развиваемся а не стагнируем?
Юра
Изменил букву, ребилд имадж )
Юра
Ну спасибо что не рестарт компутер
Юра
In Symfony 6.3, use that class as the type-hint of some controller argument and apply the #[MapRequestPayload] attribute. Symfony will map the request data into the DTO object automatically and will validate it
Юра
Поздравляю всех с сиим великим событием )
The Ant
https://www.youtube.com/watch?v=zaauoW2nimc&list=PLbaJpLafV4JGhNHMU_PMy8RCou1WGRqpT&index=15&ab_channel=PHPPoint https://www.youtube.com/watch?v=lHXrYr134tw&list=PLbaJpLafV4JGhNHMU_PMy8RCou1WGRqpT&index=15&ab_channel=PHPPoint разбирали тут уже эту штуку
Юра
Как заменить одну строку на другую в файле в линукс sed -i "s/{{replace_me}}/$(sed 's/[&/\]/\\&/g' <<<"$replace_text")/g" path/to/file
Юра
Трында
Alexey Mishurovskiy
В общем по докеру на маке: 1) varioFs 2) образ с правильной архитектурой (в случае с m1) у нас был предсобраный образ под х64 в локальном регистри. заоверрайдили на arm аритектуру для разрабов на маке - стало нормально.. загрузка ускорилась до 10 раз
SK
if ($sort) { $qb->orderBy('p.:sort', 'ASC') ->setParameter('sort', $sort); }
SK
[Syntax Error] line 0, col 111: Error: Expected Doctrine\ORM\Query\Lexer::T_IDENTIFIER, got ':sort'
Корочка
Так написано же. Просто укажи названия поля для сортировки в orderBy
SK
Так написано же. Просто укажи названия поля для сортировки в orderBy
нууу как бы если я его передаю через переменную то наверное она откуда то берётся и её незя просто написать ?
Юра
Двоеточие
SK
Там опечатка же
просто ради интереса убрал доветочие и вполне логичный результат - доктрина не может найти филд sort в энтити ибо она без понятия что это не филд а параметр
Павел
if ($sort) { $qb->orderBy('p.:sort', 'ASC') ->setParameter('sort', $sort); }
Делаете не через доктрину, а через свой маппинг, чтобы в доктрину уже уходило статик значение
Павел
опять же, если делаете тупо по значению, почему просто не сделать конкатинацию?
Павел
$qb->orderBy('p'.$sort, 'ASC')
SK
$qb->orderBy('p'.$sort, 'ASC')
чтобы не писать санитайз функцию ?
Павел
чтобы не писать санитайз функцию ?
А что вы ожидаете от доктрины, если параметр прилетит с неверным сортом?
Павел
кароче куча гемора я понял
Гемора нет, обычный маппинг надо организовать
SK
А что вы ожидаете от доктрины, если параметр прилетит с неверным сортом?
да мне пофигу верен он или нет. Главное чтобы sql херня не вылетела, а так мне || если там 500 будет из за неверного филда
SK
Гемора нет, обычный маппинг надо организовать
само понятие маппинг уже херня какая то
SK
я конечно всё понимаю но на моей памяти сервис так ещё не называли
SK
это уже что то совсем новомодное
Корочка
Не понимаю даже в чем такая проблема
Павел
Ну вариантов куча, от маппинга на филд, до белого списка
Павел
Маппинг: $qb->orderBy(match($sort){ 'name' => 'p.name', 'relationName' => 'rel.name', default => 'p.createdAt' }, 'ASC')
Павел
white list : $if(in_array($sort, $availableSortFields)){ $qb->orderBy('p'.$sort, 'ASC') }
SK
Коротко, элегантно и сейфово
Юра
Используй $qb->expression()->literal()
Юра
Или connection->quote()
Юра
Есди тебе всеравно на левые поля
SK
Используй $qb->expression()->literal()
там просто репка уже гигантская, не хочу ещё больше усложнять
Павел
Используй $qb->expression()->literal()
Я так понимаю ваше решение для обхода названий полей которые из списка резервных
SK
так что white list мой выбор
Павел
Просто не совсем понял, как решает проблему ТС
Юра
white list : $if(in_array($sort, $availableSortFields)){ $qb->orderBy('p'.$sort, 'ASC') }
В таким местах лусше in_array с третьим аргументом
Павел
В таким местах лусше in_array с третьим аргументом
Но конкретно в этом кейсе, профита 0
Юра
Возможно. У нас просто в компании прям конвеншн такой, так что глаза режет сразу если виду его без третьего аргумента
Павел
Возможно. У нас просто в компании прям конвеншн такой, так что глаза режет сразу если виду его без третьего аргумента
Ну это в любом случае хорошая практика. Я написал для примера решения проблемы. А так да, 3 тоже ставим, банально чтобы убрать подсветку шторма)
Юра
Я бы вообще его по дефолту делал, на памяти помню несколько багов которые причём сложно найти из-за этого in_array
Nikolay
Подскажите, есть такой форк https://github.com/holyfork/facebook-graph-sdk, не совсем понимаю, как правильно его поставить. Прописал в composer.json в repositories { "type": "git", "url": "https://github.com/holyfork/facebook-graph-sdk.git", "canonical": false } Но чего-то все равно не хочет подтягивать изменения.
Андрей
Всем привет! Проект в докер контейнере. Подключаю КриптоПро к проекту. По их инструкции собрал библиотеку, добавил ее в папку с расширениями PHP. Сам php видит новую библиотеку: - phpinfo() - ее отображает. - class_exists('CPStore') выдает true, т.е видит класс библиотеки. Если в коде проекта пишу $store = new CPStore(); класс CPStore не обнаруживается. Причем, если непосредственно, в контейнере выполнить: php -r '$store = new CPStore(); var_dump($store);' то выведет данные класса, т.е. класс создается. Вопрос, как сделать чтобы классы из новой библиотеки были видны в проекте?
Юра
Текст ошибки можно?
Андрей
Причем, предпоследняя строка в коде: var_dump(class_exists('CPStore')); возвращает true, т.е., как я понимаю, класс CPStore видит.
Vlad
стабы надо тебе описать
Vlad
или найти готовые
Vlad
https://packagist.org/packages/webmasterskaya/crypto-pro-php-stubs
Андрей
https://packagist.org/packages/webmasterskaya/crypto-pro-php-stubs
Как я понял, это подсказки для IDE. Но проблема даже не в том что ИДЕ его не видит. При отработке кода : $store = new CPStore(); возвращается ошибка
Андрей
Vlad
$store = new \CPStore();
Юра
Если ты внутри неймспейса пишеш SomeClass оно его ищет относительно этого неймспейса
Андрей
$store = new \CPStore();
Так работает. Спасибо огромное.
Юра
Поэтому нужно либо use либо юзать \SomeClass
Андрей
Поэтому нужно либо use либо юзать \SomeClass
Пробовал вчера через use. Не сработало. Видимо что-то криво сделал. И полез после этого в дебри ( Сейчас и так и так работает. Еще раз спасибо за помощь.
artem
Всем привет) а кто-то знает как изменить размер индексируемых файлов в шторме?
Алексей
Всем привет) а кто-то знает как изменить размер индексируемых файлов в шторме?
индексы вроде ужать невозможно, а если хочешь что бы не все файлы в индекс попадали, то правой мыши на папку, и "mark directory as" -> excluded вообще индексируются исходники, но их пережимать это вообще как то не то :)
Алексей