Fi1osof
С нами с 05 мая 2014; Место в рейтинге пользователей: #105 часов назад
если я его оборачиваю в отдельный formЭто же не логично, сортировка должна работать вместе с остальными параметрами фильтрации. Я же сказал используй ...
Sendit и Pagination 4
27 декабря 2024, 15:56
Ух, класс! Вот так работает:
$array = array(111, 112);
if(in_array($modx->controller->resource->get('id'), $array)) {
$modx->regC...
RTE для introtext: помогите пожалуйста с подсказкой 7
27 декабря 2024, 13:50
Огромнейшее спасибо! Работает.
PageBlocks. Удобное управление контентом сайта. 41
26 декабря 2024, 12:43
А как вы в шаблоне письма вывели имя пользователя? У меня просто в шаблоне отрабатывает. А в письме нет.
[[$user.name]]
[[$us...
Sendex - как добавить поле "Имя"? 2
26 декабря 2024, 11:10
Слышу эту песню про программирование — уже с лет 20 точно.
Но пока «мы» даже сверстать макет не можем автоматически, чтобы можно было в продакшен о...
Испытание ИИ Cursor 9
25 декабря 2024, 14:13
В итоге переписала сама. Не знаю можно ли вставлять сюда столько текста, так что чистый JS код, если кому надо, можно найти по ссылке
[xLike] Идеальная система лайков с оптимистичным интерфейсом и правильной формулой 113
24 декабря 2024, 21:46
Это не косяк, это осознанное изменение. Я считаю, что нет смысла показывать «Форма содержит ошибки» и ещё сами ошибки. Однако само сообщение в ответе ...
[SendIt 2.0.0] Пагинация и обновлённая загрузка файлов 28
23 декабря 2024, 18:04
Для версии 3 лучше конечно иметь типа minishop3.
Да для всего этого нужно свободное время конечно же.
minishop2.com. Почему то не хочет в админку сайта заходить 3
23 декабря 2024, 16:08
Добрый день, спасибо за помощь, разобрались на сайте поддержки продукта, сразу просто не увидели там продление поддержки, с Уважением.
Подключение msOptionsColor 2
23 декабря 2024, 03:39
polylang-1.3.16-pl
появились проблемы с кешированием, рандомно не меняется culturekey, после очистки кеша — всё ок
Polylang 142
Но в плане встречного иска мне без тебя и Андрея нечего им предъявлять. Конкретно моих интересов они никаких не задели, ведь они не используют мои не популярные модули :)
На счет 240 000 — позже напишу подробный топик, обсудим. Они предоставили Предварительный Договор с брифом и там расписали цифры, вообще никак не увязывающиеся с ценами на сайте. Я собственно даже в возражениях указывал на вероятный сговор Фабрики с этой сторонней компанией-клиентом (и Суд принял этот довод, вызвав третье лицо на заседание, но те не явились, прислав формальную отписку), ибо и цифры явно из пальца высосаны, и Предварительный Договор в IT даже среднего уровня — это какой-то нонсенс.
Запрос «Фабрика сайтов отзывы» — второй по популярности на моем сайте. Думаю это влияет на то, сколько потенциальных клиентов предупреждено на счет работы с этой «компанией».
А вы меньше смотрите на мою бестактность и больше читайте суть техническую. Я программист, а не политик. Особо слова не выбираю. Но попробуйте сказать что техническое возражение мое на комментарий было не корректным. Где я там допустил ошибку и в чем? Меньше обращайте внимание на мой тон и больше на техническую составляющую, и вот вам больше пользы.
Да, твой запрос сейчас максимально близок к чистому xPDO, но при этом все равно строк больше — раз, а во-вторых, зачем в таком случае изучать просто альтернативные методы вместо нативных?
Это что касается скорости и синтаксиса.
А коммент мой был ответом на другой коммент, не совсем корректный в техническом плане.
По поводу компетенций: сама модель MODX-а изначально ориентирована на не разработчиков. Это не секрет. И я уверен, что большинство MODX-разработчиков, как и в первом комментарии, не совсем отличит PDO от xPDO и т.п. Поэтому я и говорю про компетенции. Поэтому я и говорю что из-за этого легче пиарить синтаксический сахар.
Вообще-то самый что ни на есть xPDO.
— создается объект запроса xPDOQuery, который, как понятно из названия, имеет непосредственное отношение к xPDO.
Возвращает PDO-объект PDOStatement. Открою вам тайну: pdoTools, использующие в своей работе xPDO, так же в итоге приходят к этому объекту для выполнения запросов к БД, без этого просто никак.
Выполнение непосредственно запроса к БД. Так что здесь не только формирование запроса, но и выполнение его и обработка полученных данных.
А getCollection() — это не только все выше перечисленное, но еще и набивка данных в конечные xPDO-объекты. А это уже совсем другая задача. Ну и следует отметить, что в первом случае getCollection() тоже не выполняется, а просто так же выполняется запрос к БД и возвращаются полученные данные. getCollection() выполняется у pdoFetch в совсем другом методе.
Да, в этом тоже отличие этих двух примеров. В первом случае идет выборка сразу всех записей и возвращается конечный массив данных, а во втором случае идет построчный перебор полученного результата. Но, во-первых, это влияет на количество потребляемой памяти (что мы и видим наглядно), но на время выполнения почти не влияет. Что в одном случае, что в другом идет перебор 2000 результирующих записей. А во-вторых, здесь не должно быть цели приравнять результаты обоих вариантов к общему знаменателю. Здесь есть желание увидеть есть ли разница или нет. А разница безусловно будет. Объясню просто. Вот цепочка выполнения первого примера:
pdoTools -> xPDO -> PDO.
А вот цепочка второго примера:
xPDO -> PDO.
Найдите 10 отличий. Как ни крути, pdoTools не может быстрее работать, чем чистый xPDO, без которого сам pdoTools работать не может. Он может кому-то быть удобней в использовании, но не быстрее, потому что к выполнению первого варианта еще плюсуйте кучу методов отсюда, а второй вариант — конечный.
Именно по причине того, что многие не понимают до конца принципов работы xPDO, они и используют активно pdoTools искренне считая, что это самый быстрый и удобный способ взаимодействия с БД. Ну что? Василию надо отдать должное, он смог пропиарить свои наработки на базе массовой некомпетентности MODX-разработчиков. Ну, это уже каждому свое, и свое не каждому. Раз оно популярно, значит помогает в разработках. Но факт останется фактом — pdoTools никогда не будет работать быстрее и более гибко, чем чистый xPDO. Это можно даже тесты не проводить.