MYSQL+PHP+XSLT

-faqer-

Я только учусь
MYSQL+PHP+XSLT

Я только недавно углубился в данную тематику. И пока не совсем понимаю в какую сторону мне двигаться.

Объясню причину, по которой меня заинтересовал XML+XSL

Есть у меня сейчас несколько проектов MYSQL+PHP. Шаблоны для вывода на экран держал в отдельных файлах и подключал в случае необходимости. Но с ростом сложности проектов взлелеянное мною разделение PHP и HTML полетело в тартарары.

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

Насколько я на данный момент понимаю, моя мечта может быть осуществлена при помощи XSLT.
А заключается эта мечта в следующем.
Код каждого модуля сайта (допустим ленты новостей) имеет следующий вид.
1. Инклуд файлов с необходимыми параметрами (пути к файлам, коннект к базе, пр.)
2. Запросы к MYSQL (общие настройки, дерево сайта для вывода меню навигации, данные непосредственно для модуля сайта (в нашем случае новости))
3. Забивание этих всех данных в массивы либо получение их в XML виде
4. Подгрузка XSL шаблона: шапка страницы, классические три колонки для контента (1. меню навигации, 2. колонка основного контента, 3. колонка доп. контента), низ таблицы
5. Выведение данных из базы посредством шаблона.
Причем пределом мечтаний для меня является полный пофигизм программной части к структуре шаблона. Т.е. если я раньше выводил все данные в виде трех колонок, а завтра захочу выводить в виде трех строчек, чтоб мне не понадобилось для этого крутить код, а надо было бы только изменить шаблон.

Подскажите мои мечтания могут быть осуществлены при помощи MYSQL+PHP+XSLT. Если да, то какие этапы (книги, статьи, сайты) мне надо пройти для их осуществления. Пока в голове полная каша и неуверенность в том с чего начать и стоит ли вообще начинать.
 

slach

Новичок
теоретически ДА...
на практике, выходит так, что для этого надо очень осторожно и вдумчиво подходить с структуре генерируемого XML документа...

XSLT и XPath многое могут сделать, но далеко не все...
такие вещи как date_format, например на XSLT сделать можно, но работать будет ОЧЕНЬ медленно...

внимательно относитесь к РАЗМЕРУ генериуемых XML и XSLT документов... не раздувайте их больше чем 100Kb на XSLT и 50Kb на XML ...

используйте php5 и libxml ... там более удобная и быстрая реализация... подробнее на http://www.zend.com/php5/articles/php5-xmlphp.php

выведение данных из базы посредством шаблона... это IMHO НЕПРАВИЛЬНО... данные из базы должны складироваться в XML документ... причем желательно в тех местах где данные статичны... сделать файловое кеширование... готовых фрагментов XML кода...

-~{}~ 21.04.04 20:50:

насчет книжек...

по XSLT - Дмитрий Валиков XSLT http://www.books.ru/shop/books/22090

по примерам использования для начала хватает стандартной доки...

потом надо смотреть в сторону какого нибудь
http://www.interakt.ro/products/Krysalis/
 

AlexVN

Новичок
Мне кажется, что в таком случае поможет Layering.
1. Layer Отображение - отображает. Он не формирует запросы в базу, не проверяет unique и не реализует прочую логику.
2. Layer BL - бизнес логика. Тут может быть сделаны проверки на наличие денег на счету, проверки на правильность переданных данных в комплексе.
3. Layer DA - data access. Тут формирование SQL комманд и SQL проверки.

То, что ты сейчас собираешься реализовать с помощью PHP + XSL с тем же успехом можно реализовать на PHP. Дело в идее - просто две разные технологии вынуждают разделять представление от BL, но это можно сделать и в рамках одной технологии.
 
Сверху