Пример: pastebin.ru/301151
Бизнес-логика в <meta.index>, html шаблон вывода <strict.index>, затем всё это вставляется в основной шаблон для всех страниц <area.simpleTemplate>
Чето какие-то ветряные мельнцы. Вы с инклудами боретесь потому что они долго подключаются? Дак они компилируются в этот момент. Пользуйтесь еАкселератором или аналогичными решениями, все подключается в разы быстрее.
Насколько я понял основную концепцию — в общем и целом это похоже на макросы в С/С++.
Т.е. вы пишите некие переиспользуемые структуры, и включаете их в разные страницы, а при «компиляции» включения просто вставляются текстом. Т.о. при изменении одной из переиспользуемых структур нужно будет пересобрать все страницы.
Идея чем-то интересная. Доведите до ума и можно будет посмотреть будет ли оно себя оправдывать на практике.
Альфа версия парсера уже написана, на ней работает сейчас 2 «подопытных» сайта (sevlux.net и nouts.net смотреть исходники HTML в самом низу дебаг строка).
Проекты небольшие, по времени генерации страницы, и затратам памяти:
pageGenTime:0.00451 sec. memoryUsage:238.34375 Kb
pageGenTime:0.00801 sec. memoryUsage:440.703125 Kb
Расскажите что значит ваша разметка, что такое sincous, page, area, unicate и т.д. Это конструкции с разным поведением (лексемы языка) или это имена классов? Если лексемы, расскажите чем они отличаются, если имена классов покажите сами классы.
Ей-богу, шарада какая-то :)
page — это названия классов для страниц. Можно использовать любой свой префикс (всё настраивается в скрипте). При компиляции страницы index (или какую вы указали) будет выборка <page.*> (где * — это название страницы). Структурные блоки также настраиваемые.
Можно написать например [!page.index] и т.д.
sincous, area, unicate — классы можно назвать произвольно. Я так назвал, только ради подсветки синтаксиса «неправильных» html тегов в Zend Studio.
Изврат какой-то. Для чего… непонятно.
> Некоторые веб-мастера вообще не представляют, какой код у них хранится и начинают писать заново те >функции, которые похоронены в глубине сайта.
Если только для таких веб-мастеров…
>> Часто приходится сталкиваться с тем, что необходимо срочно внести некоторые изменения в сайт, но при этом, редактируя самые важные области,
отвечающие за соединение с базой данных или другим критическим частям сайта, Вы совершаете ошибку и сайт встречает новых посетителей унылым дизайном (в лучшем случае) или полным отсутствием содержания.
Видел пока что только 2 варианта решения этой проблемы:
Редактирование копии файла на одной из скрытых страниц сайта или редактирование сайта на локальном сервере и потом уже загрузка уже работающей модели.
Ну и самый ко ординальный, это редактирование по ночам, когда большей части юзеров уже не до вашего сайта.
При н.у, кроме боевого есть тестовый сервер. Переносом с тестового на боевой, занимается специальный дядя, по специально продуманным правилам. Правила придуманы умными дядями, специально, для того что б сократить к 0 вероятность унылых сообщений.
Бабу ягу приглашать не будем, вырастим в своем коллективе (с)непомню откудо.
В случае если в проекте задействованно больше одного человека, то должны быть зоны ответственности и чем четче они очерчены тем больше шансов удержать удила в руках.
Если один человек, ну что уж значит зона ответственности четко очерчена.
ЗЫ: кстати был случай, когда деплоем на боевой занимался человек номинально не имевший отношения к компании, можно првести анологию с удаленным одмином.
>>php файлы чаще всего хранят прямо в корне сайта, и поддиректориях, и абсолютно не поддерживают порядок.
Некоторые веб-мастера вообще не представляют, какой код у них хранится и начинают писать заново те функции, которые похоронены в глубине сайта.
Можно разделять и структурировать файлы так, как Вам удобно.
один xml файл может выглядеть так:
#include catalog.xml
#include blogs.xml
#include work.xml
#include repository/global.xml
С затратами времени и памяти от инклудов :)
Аналог #include при создании страницы сразу вставляет файл в указанный блок, в отличие от <? include(''); ?>
Концепция парсера php->php