PHP5 + libxml2 в реальной разработке

timur-kar

Новичок
PHP5 + libxml2 в реальной разработке

Вот решил тоже задать свой вопрос:

насколько можно сейчас использовать PHP5 + XML ?

Появился заказ на очередной сайт, и захотелось его сделать "более правильным" чем предыдущие :)
Я не собираюсь использовать XML в качестве хранилища данных, для этого меня вполне устраивает MySQL. Собираюсь использовать связку PHP5 + libxml2 для формирования и конфигурирования страниц (под конфигурированием имею ввиду что в XML должны еще хранится настройки страниц, т.к. сайт должен быть многоязыковым и с некоторым кол-вом наворотом).

Поставил себе на WinXp php5, и очень порадовался, вещь супер, особенно порадовали статические методы, члены классов, исключения, константы классов, передача объекта по ссылке и libxml2 !!!

До этого использовал PHP4 + MySQL + Smarty. Smarty - вещь очень хорошая, удобная, но все-же сказывается что это всего-лишь надстройка над PHP (правда оччень качественная). Одна реализация рекурсии на Smarty чего стоит :)

Возникают сомнения, т.к. с XML немного более сложен в употреблении чем Smarty (в части PHP, в части шаблонов мне XSLT больше нравится). Но главное сомнение - насколько это все будет нормально работать. Сейчас у меня под виндой все отлично работает, но что произойдет когда все это будет под некоторой нагрузкой (до 10000 посетителей в день), не будет ли это тормозить ?

итак вопросы:
1) Насколько реально уже сейчас использовать PHP5 для разработки сайтов ? (реально - это в смысле чтобы не было очень уж серьезных ошибок и сервер не падал если на нем N посетителей)

2) Насколько реально использовать XML+XSLT (libxml2) как шаблонизатор ? (здесь реально - это в смысле чтобы это происходило достаточно быстро и опять-же не валило тот-же самый PHP)

3) Можно ли выдавать юзеру у которого браузер поддерживает разбор XML и XSLT трансформации (как я понимаю таких в рунете большинство), необработанный XML+XSLT (сама идея очень нравится, насколько реально еще не знаю - решил спросить), а остальным - парсить на сервере. Вопрос не в том как возможно ли это в принципе (уверен что возможно), а в том какие могут быть проблемы при это и стоит ли с этим связываться ?

--
С уважением, Каримбаев Тимур
 

kuv

Guest
Поделюсь небольшим опытом который у меня уже есть.
Вцелом xslt обрабатывается браузерами весьмы прилично - ИЕ и Firefox работают отлично, и со связкой xml+xslt проблем нет совершенно.
Мало того у меня легко получилось сделать например такую вещь - описание меню в xml преобразуется в набор всплывающих меню на javascript.

Но возникла только одна проблема с которой мне пока не удалось разобраться - в шаблонах для элементов генерятся другие элементы, и эти сгенерированные элементы по второму разу xsl-ем уже не обрабатываются.
Например один шаблон генерит <ico/>, и этот тег уже не обработается, а хотелось бы чтобы он заменился на некую картинку.

Но все равно буду пытаться разобраться, потомучто если посылать браузеру xml+xsl для обработки - это просто огромная разгрузка для сервера. Особенно если учитывать что xsl кеширутся браузером!
 

slach

Новичок
1) если есть подходящий хостинг, и заказчик не предъявляет каких либо СПЕЦИФИЧЕСКИХ требований по надежности/производительности то вполне реально...
к тому времени когда проект будет закончен возможно выйдет php5.1.x, который будет уже более стабильным...

вообще
есть некоторые приложения, которые безболезненно перешли с php4 на php5 например adodb и vBulletin или WackoWiki

2) при выполнении пункта 1 реально, сама по себе libxslt2 и libxml2 вполне стабильная вещица, которая работает не только совместно с php

на пункт 3 ответил kuv, если хочется трансформации на клиенте, ее вполне можно сделать... но она там однопроходная =)
чтобы делать многопроходную клиентскую трансформацию, придет писать довольно объемый кроссплатформенный клиентский JavaScript
 

neko

tеam neko
я сам не понял что вы тут подразумеваете под многопроходностью

тебе я так понимаю нужно сделать 2 шаблона -- общий и под страницу и 1 xml документ.
в шаблоне под страницу подгружать общий шаблон
это все возможно
см. xsl:import/include

причем тут "проходность" я невкуриваю
 

timur-kar

Новичок
Но как ? Почему к результату ?
Ведь результат трансформации XSL в обычных случаях - это HTML, как я понял он для этого и нужен. В смысле XSL не предназначен чтобы из XML делать другой XML. А HTML XSL'ем трансформировать нельзя.
 

kuv

Guest
Originally posted by neko
это все возможно
см. xsl:import/include

причем тут "проходность" я невкуриваю
при том что при инклюдах тери сгенерированные одним шаблоном уже не обрабатываются другими
 
Сверху