Newcontinent - Оптимизация PHP-Nuke

(Оригинал: http://cmsobzor.ru/fa.php?aid=18)


     Краткое описание: в статье приведены основные аспекты по оптимизации PHP-Nuke.

     Проводить глубокую оптимизацию PHP-Nuke не разумно. Версия системы регулярно обновляется в соотвествии с логикой автора. Существует и постоянно создается масса новых дополненний к порталу: (модулей, блоков, тем). При внесении изменений в структуру базы портала возникнут проблемы совместимости. Поэтому лучше сохранять полную совместимость с официальной версией портала и ограничиться лишь незначительными косметическими изменениями в коде с целью его максимального облегчения.

     В принципе сам автор движется во вполне рациональном и вменяемом направлении, постепенно осознавая необходимость разделения скрипта на его логические составляющие:
     1. Технической функциональной части обеспечивающей работу движка.
     2. Полезного содержания, того, что принято называть контентом.
     3. HTML кодирования призванного исключительно для художественного оформления выводимого содержимого сайта. Сейчас уже, вряд ли, подлежит обсуждению факт, что художественное оформление и верстку необходимо осуществлять средствами технологий CSS. Они дают несравненную гибкость и при правильном применении значительно облегчают код. Делают сайт прозрачным, более ясным для понимания и прочтения вебмастером и дизайнером. Единственная,, на сегодня, технологией способная составить серьёзную альтернативу простому применению CSS - это XML-XSL. Но и в этой связке CSS может найти себе место. На фоне этих безусловных достижений программисткой передовой мысли повсеместное использование непосредственно в теле скриптов давно устаревших тегов . многократно повторяющегося HTML кода. Эти точечки и шашечки уже не раз послужили отправной точкой мысли множества дизайнерствующих творческих личностей для оригинальных изысков в области вёрстки, и особенно в меню. Во многих решениях можно увидеть вместо Аж-Ти-Мэ-эLевских точечек и решёточек веселенькие значочки и даже аннимированные. Иногда очень даже к месту выходит. Но в целом, хотя принципиально экран современного монитора и позволяет разместить на портале много рахных значков, полезней всё же исходить из целого решения. Во-многих решениях тем для PHP-Nuke несомненно присутствует цельный взгляд на монитор (т.е. на страницу конечно, которая отображается в этом мониторе) Но конечно одно из самых больших достижений дизайнерской мысли портального дизайна - так это фиксированный размер шрифта, точнеее сказать шрифтика, потому что для многих несчастных пользователей таких порталов это сущий кошмар. Они просто ничёрта там не видят. И этим дизайнерским изыском моментально воспользовалась ушлая Opera и ввела функцию увеличения экрана целиком, в процентах. Обычный то микрософтофский эксплорер с таким мощным "дизайном" не справляется. Хоть общёлкайся по пункту "Размер шрифта" - но это ни малейшего действия на суровый дизайнерский портал не возымеет. Потому что размерчик намертво вшит в код скрипта PHP-Nuke. То есть там не просто указано имя класса из файлика style.css, это действительно было бы слишком просто для заядлых Nukeвцев, там размер так прямо непосредственно в цифирках и указан, чтоб уж никаких сомнений в размере на этот счёт не осталось. Вот эту беду конечно лучше вытаскивать клещами и всеми возможными средствами из кода Nuke. Т.е., по возможности удалить из кода теги: font B i strong big со всей их атрибутикой, а своё художническое чутьё можно постараться выразить средствами CSS. В этом случае можно будет легко управлять размерами, цветами, гарнитурами шрифта непосредственно из файла CSS стилей. На этом конечно проблемы Nuke-порталов не кончаются, а возможно только и начинаются. Одно тянет за собой другое. Второе глобальное достижение создателя Nuke это полное освоение и демонстрация совершенного знания стандартных таблиц в лице HTML тегов: TABLE TBODY TD TR со всеми их атрибутами. Скрипты буквально пропитаны таблицами. Они применяются повсюду где только можно вставить код, где нужно и не нужно. И по нескольку раз в одном и том же месте. В файлах Nuke нередко можно встретить по три-четыре и более вложенных друг-в-друга таблиц. Возможно у кого то стояла цель ни за что не дать понять как что устроено, особенно новичкам. И с этой задачей разработчики нюке-порталов исключительно ловко справились. В довершение картины хорошо бы всё ещё закомпилировать, ну типа перемешать html код поменять местами его кусочки и тогда всё уж точно никто не откопает где заветная строчки со скрытыми копирайтами. Впрочем особой любовью к табличной вёрстке отмечены не только nukeвцы, но и многие писатели разнобразных порталов и форумов. Это просто повальное табличное направление Мирового дизайна. Казалось бы, куда как проще не куда, сгенерить все нужные переменные и отдать их в шаблон на вольное их там поселение дизайнером. Или на худой конец, в соответствующую функцию вывода содержания на экран в виде параметров функции. Да в этом ничего нового нет и программисты C++ давно уже осознали удобства парадигмы "данные - вид". Грубо говоря, одни и те же даные из одного источника могут быть представлены в различных видах. Например данные из таблицы можно представить в виде списка выбранных полей(колонок) и(или) в виде отдельной "карточки"(формы) одной записи(ряда). Всё это прекрасно реализуется в функции вывода в стандартной теме PHP-Nuke. Как видите проблемы только начинаются. Не стоит доверять многочисленным объяснялам-разъяснялам на многочисленных форумах по установке, поддержке, сопровождению портальных систем. Там стараются разъяснить, что нужно сделать по шагам в указанной строчке скрипта. Естестсвенно, что такой подход приводит к ещё более удивительным чудесным трансформациям современного кодирования. Как правило новичкам там просто морочат голову с простой целью подсадить их на иглу платного сопровождения. Вместо того, что бы постараться разъяснить суть происходящего простым PHP языком и дать необходимые ссылки. Такая заботливая до кармана поддержка напоминает принципы современной рекламы: вынудить, заставить приобрести товар или услуги любыми способами, несмотря ни на что. Проще говоря надуть.
А правда в том, что желающему иметь свой портал PHP-Nuke нужно просто изучить PHP. И тогда исчезнут горы идиотских тем в форумах поддержки, конечно вместе с ними непременно исчезнут и поводы поумничать на пустом месте, перед новичками.
Владелец (управляющий) портала спокойно сможет реально осмысленно управлять тем, что проделывает его портал. Тем более материала и реальных знающих web-мастеров в сети предостаточно. Несмотря на выше указанные недостатки системы PHP-Nuke, следует признать, что скрипт портала PHP-Nuke наиболее распространён. Скрипт портала послужил основой для множества похожих на него клонов. Из чего можно сделать вывод о том, что скрипт, несмотря ни на что, прост в освоении, доступен для освоения новичкам. И ко-всему прочему, учитывая возможности лицензии под которой распространяется PHP-Nuke, скрипт является отличной основой для подробного изучения и создания на его основе своего специфического движка для решения узких задач.
Вот Русифицированная официальная версия PHP-NUke 7.9 - с небольшой оптимизацией от newcontinent.ru
Так как, впереди настойчиво маячат неоптимизованные запросы к базе, по 10 раз повторяемые куски одного кода в модулях, неповторимо-роскошная структура полей таблиц базы Nuke и т.д.

Newcontinent - Оптимизация PHP-Nuke

(Оригинал: http://cmsobzor.ru/fa.php?aid=18)