Пишу чисто свое ИМХО. Тем не менее зная, что здесь есть довольно опытные уже MODX-программисты (именно программисты, а не расставлятели MODX-тегов), предлагаю обсудить «творение» небезызвестного безумкина, тем более что он вот опять похвастался своей неповторимой разработкой, но вот почему-то на диалог не идет никак… В твиттере тоже не отвечает. Думаете просто считаете выше своего достоинства вступать в споры? Нет, ни в коем случае. С теми, кому он может сказать «ты тупой и ничего не понимаешь, иди отсюда» — это он всегда запросто. И со мной он по началу так пытался разговаривать, когда я ему начал говорить, что у него минусов полно в его разработках. Но после пары предметных споров, как вот здесь, к примеру: community.modx-cms.ru/blog/addons/9892.html, он что-то совсем перестал в диалог вступать. Видимо, совсем не любит чувствовать себя не умнее всех.
Так вот, публикую я здесь свой ответ с хабра (ибо в нем сказал примерно все, что хотел (точнее мог написать)), и предлагаю всем, у кого есть мнение, высказаться. Я не призываю поддержать мою точку зрения. Нет. Я готов и противоположную выслушать, вдруг я не прав на счет указанных технологий.
Вы меня спросите почему я так взъелся? Я скажу: он наносит вред сообществу. Вместо того, чтобы направлять молодых учить сам MODX, он их направляет учить свой аналог, который как я и утверждаю, очень далек от совершенства.
Под катом дублирую свой ответ и жду ваших комментариев. Этот, я думаю, все равно не выйдет за свое высказаться.
Мой ответ с хабра.
И вот опять вот эта ахинея… «Мое прелестное дополнение»…
Это не просто твое прелестное дополнение. Это самое великое из того, что ты сделал — самый великий блеф! Тебе по прежнему удается простачков дурачить тем, что ты офигенный компонент написал и много-много его дорабатываешь. И многие верят (не хватает же мозгов проверить). И главное — сколько уже ты на него из СимплДрима денег вытянул? :-) Ведь тебе оплачивается твое рабочее время.
Ну чтож, давай разберем, что это у тебя за чудо такое неведомое разработано.
protected $query;
И там еще не мало xPDO по всему компоненту.
В общем, это никакая не замена xPDO (хорошо хоть давно уже перестал это говорить, понял, что ляпнул не подумавши). Это простой синтаксический сахар, при чем не просто сомнительный, а конкретно ничего под собой не имеющий. Сейчас поясню.
Следите за руками, что нам предлагается: чтобы у вас все быстрее работало, ставьте мою чудо-тулзу, и у вас все будет супер-быстро работать!
Так ли это? Лично меня никак не может убедить в этом тот факт, что вместо того, чтобы просто выполнять $modx->newQuery(), мне надо сделать:
Библиотека подключается через modX::getService() вот так:
// Если нам нужны только основные функции
$pdo = $modx->getService('pdoTools');
// Если нам нужна работа с БД
$pdo = $modx->getService('pdoFetch');
Нет, не похоже. Новый запрос создать я и без этого могу. $q = $modx->newQquery($className); Колонки указать извлекаемые? Не вопрос — $q->select(array(
'col1', 'col2', 'col3 as col 4',
));
Таблицу приджоинить? Да хоть $q->leftJoin(), хоть $q->innerJoin(). Как мне будет угодно. Условия добавить??? Так оно всегда там было. $q->where($cond);
К слову, а в pdoTools условия появились совсем недавно: bezumkin.ru/sections/components/1931/
Вася, ну ты уже сразу расскажи, о чем умолчал, чего еще не хватает? Там же много еще минусов есть, а? Может ты все-таки расскажешь, что pdoTools не проверяют права доступов, к примеру?
А еще у него 100500 изменений в компонентах, и не забывайте у себя все по гиту сводить…
Ну быть может у него действительно с производительностью все классно, а? Ведь пишет: >> Как вам вывод 2012 страниц сайта за полсекунды?
Ну давай сравним твое творение с вот этим небольшим кодом:
$q = $modx->newQuery('modResource');
$q->select(array(
«id»,
«uri»,
«pagetitle»,
«content»,
));
$q->limit(2012);
$s = $q->prepare();
$s->execute();
$i = 1;
while($row = $s->fetch(PDO::FETCH_ASSOC)){
$str = "$i";
$str .= "{$row['pagetitle']}";
print $str;
$i++;
}
А быть может ты скажешь, что я не умею программировать и наговариваю на тебя? Ну как бы готов поспорить…
А вот начальство твое в СимплДрим не умеют программировать, поэтому у тебя и получается им ездить по ушам. Поэтому они тебе и платят по прежнему деньги за твои «чудо разработки» :-)
Но не это плохо. Плохо, что ты начинающих программистов не по тому пути направляешь. Нет, чтобы лучше ядро изучать и их направлять на это, ты им pdoTools свои суешь. В итоге ни ты, ни они самого ядра не знают. Могу легко по каждому твоему дополнению проехаться. А что ты там про контексты в своем гибридаусе нес, так я вообще ржал. Только ты ничего не ответил. А жаль…