Разделы

Рейтинг
+14.16
голосов:
11
avatar

Эксперименты и исследования  

Код стандартных сниппетов в базовой поставке modx. На примере eForm

Иногда в ходе работы приходится лезть в коды сниппетов. Некоторые строки кода повергают меня в изумление. Причём это не сторонние сниппеты, написанные непонятно кем, а стандартные, что, как мне казалось, некий эталон качества.

Пример. Кусочек кода сниппета eForm


//tidying up some casing errors in parameters
if(isset($eformOnValidate)) $eFormOnValidate = $eformOnValidate;
if(isset($eformOnBeforeMailSent)) $eFormOnBeforeMailSent = $eformOnBeforeMailSent;
if(isset($eformOnMailSent)) $eFormOnMailSent = $eformOnMailSent;
if(isset($eformOnValidate)) $eFormOnValidate = $eformOnValidate;
if(isset($eformOnBeforeFormMerge)) $eFormOnBeforeFormMerge = $eformOnBeforeFormMerge;
if(isset($eformOnBeforeFormParse)) $eFormOnBeforeFormParse = $eformOnBeforeFormParse;
//for sottwell :)
if(isset($eFormCSS)) $cssStyle = $eFormCSS;

# Snippet customize settings
$params = array (
   // Snippet Path
   'snipPath' => $snipPath, //includes $snipFolder
	 'snipFolder' => $snipFolder,

// eForm Params

......

   'eFormOnBeforeMailSent' => isset($eFormOnBeforeMailSent)?$eFormOnBeforeMailSent:'',
   'eFormOnMailSent' => isset($eFormOnMailSent)?$eFormOnMailSent:'',
   'eFormOnValidate' => isset($eFormOnValidate)?$eFormOnValidate:'',
   'eFormOnBeforeFormMerge' => isset($eFormOnBeforeFormMerge)?$eFormOnBeforeFormMerge:'',
   'eFormOnBeforeFormParse' => isset($eFormOnBeforeFormParse)?$eFormOnBeforeFormParse:'',
  
);



Мои знания php говорят мне, что, мягко говоря, код избыточен. Но, возможно, я не знаю каких-то особенностей? Какие мысли на этот счёт?

[EVO] Быстрое редактирование документов, Быстрый доступ к Элементам, Сохранения по CTRL+S

Вот подумал а чем EVO хуже Рево ?)
Наброски быстрого редактирования документов
Быстрый доступ к Элементам
Сохранение по CTRL + S



( Читать дальше )

xPDO generator [[Revo]]

Игрушка… www.crudsquad.org/modx/xpdogenerator
Правда смысл я не пойму, для чего? Чтобы у себя не генерировать классы?
Посчитал нужным выложить здесь ссылку, так как всем интересным мы делимся. :).
Проверил — работает. Думаю, может себе такую игрушку сделать.

Динамический ресайз или src.sencha.io

My image, onstrained by half the width of the screenВот решил немного поделиться, то чего знаю. Недавно, месяца 3 назад, я начал изучать Senhca Touch (мобильные приложения), так вот, у Сенча есть такой сервис, как Ресайз картинок, Мы прекрасно понимаем, что мобильные устройства и планшеты — разных разрешений, и для каждого разрешения накладно складывать куча картинок. Sencha.io Src позволяет динамически изменять размер изображения для все большего количества размеров экрана мобильного устройства. Так-же можем просто

( Читать дальше )

SuperCache для Revo

SuperCache это плагин для MODx Revolution, который позволит вам ускорить рендер страниц.

Ну, а теперь, как-же он в деле. И так. MODX Revolution 2.2.0-pl2
VPS Ubuntu 10.04LTS, MySql-5.1.4, PHP-5.3.2 FCGI, Apach

( Читать дальше )

Маленький секрет, а может и не скрет?!

Прочитав сегодняшнии посты, ещё раз убеждаюсь, в правильности своих решений, может я только так думаю… но поделюсь своим не секретом.
Почему я делаю админку отдельно на php от админки MODx?

( Читать дальше )

MODX & CHEROKEE (второй день теста)

Давно я наблюдаю за веб сервером Cherokee, и вот решил зделать тест.
В рекомендациях MODx упомянается веб сервер Cherokee.
Я создал тестовый акаунт VPS — (CPU:1000 MHz, RAM: 2048 MB, RAID-10, Processors:2.67GHz, 2 Logical Processors, 6 Cores)
После 3 дней мучения изучения (проблемы с сетью), я в несколько шагов установил веб сервер Cherokee с PHP5, FastCGI и потдержкой MySQL.

( Читать дальше )

Аддон для ModX. Часть II.

1. Просыпайтесь, мистер Фримен

В предыдущей серии я ставил учебную задачу по интеграции движка форума в ModX Evo. Наибольший отклик вызывала возможность править на лету код форума. Это может понадобиться, например, для замены меню на страницах форума своим меню. Ряд экспериментов показал, что принципиально эта задача решаема, причем код форума можно не трогать вообще. Но есть и негативные моменты.

Однако, решение этой учебной задачи — не главное. В процессе испытаний я понял одну принципиальную вещь. Очень жаль, что я не смог ее сформулировать в первой из своих заметок, но лучше поздно.



( Читать дальше )

Аддон для ModX. Часть I.

1. Введение
В первой своей заметке я обещал, что во второй части раскрою некоторые подробности своего замысла в виде кода. Однако, объем работы по проектированию оказался слишком велик для одной заметки. И к тому же появились дополнительные соображения теоретического характера, которые лучше записать, пока не забыл.

Как показывает мой личный опыт, жизнеспособность абстрактного кода лучше всего проверить на выполнении вполне конкретной задачи. Тогда опасность написать «код, пожирающий самого себя» сводится к минимуму. В качестве такой задачи я остановился на примере из первой заметки. Допустим, нам нужна простая интеграция ModX с движком какого-нибудь форума. Не вдаваясь пока в конкретику, опишем примерную задачу.

Я буду продолжать использование терминов, которые применил в первой заметке. Для сути это неважно, а мне так удобнее.


( Читать дальше )

Скорость работы Ditto

Продолжим наши исследования по производительности. В этот раз я предлагаю изучить особенности работы Ditto и определить основные принципы, которые могут увеличить производительность.

( Читать дальше )