Anonymous
не всегда можно построить запрос средствами дб-апи
Просто поясните, зачем здесь sprtintf? И тогда я перестану называть повсеместное использование этой функции говнокодом
Anonymous
Я не говорю что функция плоха, я говорю что любую функцию нужно использовать там где она нужна, а не пихать в абсолютно все места
Anonymous
И я могу добавить ещё больше абсурда
Dmytro
Для этого случая есть DB::Raw 😉
ну оно как бы тоже не спасает от иньекций) я правда не видел, что там за код
⚡️Влад
Всем привет
⚡️Влад
Подскажите можно смело обновляться с 2.5.7 до 2.7.1 ??
⚡️Влад
или лучше промежуточные версии ставить?
Anonymous
а чем заменишь?
А чтом ешает просто через точку склеить
Dmytro
ничего не мешает, только вот просто подумай, что получишь на выходе )
Dmytro
и что надо написать для этого, чтобы получился такойже вывод как и у sprintf
Миша
Ruslan
Подскажите можно смело обновляться с 2.5.7 до 2.7.1 ??
Привет! Лично я и так, и так (с промежуточными обновлениями и без них) обновлялся через UpgradeMODX, вроде ничего не ломалось :)
⚡️Влад
⚡️Влад
Забекапился естессно перед этим)
Sergey_K
Просто поясните, зачем здесь sprtintf? И тогда я перестану называть повсеместное использование этой функции говнокодом
sprintf удобнее. И в данном конкретном случае он в тему т.к. валидации не нужны и не нужно параметрихировать. Ну, если только там не вызывается одно и то же в цикле. Код через точку сложнее читать.
Kirill | CosmosDrops
кто в xpdo делал left? вот таким образом не хочет: $q->select('LEFT (modResource.pagetitle, 1)');
Kirill | CosmosDrops
получается вот такое: ``` SELECT (LEFT (modResource.pagetitle, 1)) FROM modx_site_content ```
Kirill | CosmosDrops
в общем перед 1 ставит апостроф, а он не нужен
Sergey_K
Лучше использовать PDO, это и красивее и безопаснее.
Дядь, прости великодушно, но в PDO передается такая же строка :)
Андрей
Дядь, прости великодушно, но в PDO передается такая же строка :)
Нет, там переменные передаются отдельно от строки запроса
Sergey_K
Нда...
Sergey_K
Я написал по-русски выше
Sergey_K
Что в данном конкретном случае, когда все передается внутри, нет смысла в прекомпиляции.
Андрей
Вот тут
Я на это и ответил.
Sergey_K
Нда...
Sergey_K
Ну ок :)
Андрей
может я не въехал откуда этот код)
Андрей
но думаю это не важно
Sergey_K
нет, просто ответил фигню т.к. этот код не нуждается в параметризации, по нему это более, чем очевидно. Поэтому она ничего и не даст. О чем и было написано. После чего ты написал, что лучше параметризовать...
Андрей
там по кусочку непонятно откуда берется $id , но это не важно
Sergey_K
Слух, я все понимаю, но голова на что?
Sergey_K
Там $id приведен к int
Sergey_K
Как ты туда передашь "вредный код"? Я понимаю, что ты ждешь подвох даже от чисел... но в числах его нет :)
Sergey_K
Зачем твоя параметризация тогда? Это лишние объекты, лишняя память и лишние "процессорные секунды". Бессмысленные.
Андрей
Зачем твоя параметризация тогда? Это лишние объекты, лишняя память и лишние "процессорные секунды". Бессмысленные.
я написал "красивее и безопаснее". Я не написал что это опасный код. Просто лучше когда код везде одинаковый, а не так "тут пишем так, а вот тут по-другому потому что..."
Андрей
и никаких объектов PDO не создает
Sergey_K
Друг, прости, конечно, но ты, видимо, слабо понимаешь, что параметрихованный запрос делается, отправляется на сервер, потом к нему еще параметры
Sergey_K
Допом там еще обработка, которая сопоставляет параметры
Sergey_K
Это все описано в доке
Dmytro
я написал "красивее и безопаснее". Я не написал что это опасный код. Просто лучше когда код везде одинаковый, а не так "тут пишем так, а вот тут по-другому потому что..."
просто в коде выше используется modx->db->query а не синтаксис eloquent, грубо говоря - это дань совместимости 2.0 к 1.4 и тут вполне себе - просто механическое написание кода, может и не красиво
Sergey_K
А простой запрос тупо отсылается и все.
Sergey_K
Нормальный разработчик все же должен соображать, ПОЧЕМУ тут так, а там иначе.
Андрей
Sergey_K
Если сопоставление такое же, то про какую, нафиг, безопасность, речь, чювак? :)))
Андрей
Если сопоставление такое же, то про какую, нафиг, безопасность, речь, чювак? :)))
ну не совсем такая же, просто содержимое не нужно переводить в int чтобы защетиться от инъекции
Sergey_K
Дядь, без обид. Но ты не понимаешь, как это работает уаапче.
Sergey_K
Но зачем-то говоришь, что "всегда так и надо".
Sergey_K
Это неверно.
iWatchYouFromAfar
о срачег
Dmytro
Мы сдали проект, заработали, заказчик счастлив, НО Я ТО ЗНАЮ, что внутри говнокод!!!
Чутка другая логика 🙂 Пишем сдаем работает все ок на новом проекте уже пишем с учетом чему научились на старом 🙂 Вообщем тут все зависит от точки зрения и отношения. Суть что если ты написал и все ок и так постоянно и думаешь какой ты крутой и все знаешь то стоит задуматься 🙂
Dmytro
о срачег
Ура ))))) Наконецто 🙂 а то давно не было 🙂
iWatchYouFromAfar
Ура ))))) Наконецто 🙂 а то давно не было 🙂
да чет даже лень читать все эти 200 сообщений))
Sergey_K
крутой аргумент, ладно пока.
А какой еще аргумент можно привести в ответ на бред о том, что параметризация ПДО и спринтф это одно и то же? :))))
iWatchYouFromAfar
можно не читать
ничего интересного?)
Sergey_K
да чет даже лень читать все эти 200 сообщений))
Чугча не читатель, чугча писатель. На SQL жаловаться будешь?
Андрей
ты делал замер что быстрее?
Sergey_K
ты делал замер что быстрее?
Да, делал. И памяти больше. Сделай и убедись. Ну или хотя бы доку почитай :)
iWatchYouFromAfar
Sergey_K
фу
Андрей
Evgeny
@bezumkin Егор психанул что ли? 1:59:16
Василий
@bezumkin Егор психанул что ли? 1:59:16
Наоборот, вернулся к старому формату - там раньше 3+ были ролики, не каждый мог досмотреть =)
Ростислав
Привет народ. Как адекватно подключать чанки, шаблоны и т.п. чтобы кодить из IDE?