Проюлемы Cms

Тема в разделе "PHP программирование", создана пользователем Ramozarti, 29 май 2008.

  1. Ramozarti

    Ramozarti Гость

    Рассмотрим проблемы, возникающие при разработке системы управления содержимым сайта. Имеются очень много технологий и языков используемых в создании сайтов: HTML, CSS, Flash, PHP, Java, JavaScript, SQL и др. Вышеперечисленные языки обладают по отдельности большими возможностями, а в совокупности предоставляют новые возможности. Например с помощью PHP, HTML можно создать интерактивный web cайт, или даже простую онлайн игру. В сложных системах используются все эти языки в совокупности, что приводит не только к новым возможностям, но и ограничением возможностей каждого из языка. В CMS эта проблема наиболее ярко выражена: в cайте на основе CMS, дизайн которого стандартен, имеется огромное количество настроек логики работы сайта. Бывает наоборот, настроек не хватает, а дизайн использует все возможности HTML, CSS, Flash.

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

    Близка к предыдущей, проблема пересечения кода отвечающего за отображение и отвечающего за логику работы системы. Tо есть HTML код и PHP код иногда содержаться в одном файле. Это затрудняет совместную работу программистов и дизайнеров. Решение данной проблемы уже найдено: создания нового языка Smarty, который позволяет отделить PHP от HTML. В HTML коде присутствуют команды языка Smarty, понятные дизайнерам. Эти команды, которые связывают представления сайта с его структурой данных и логикой.

    Существуют и более радикальные способы отделения логики и данных от представления. Это достигается за счёт языков XML и XLST. PHP код генерирует XML код, в котором хранятся данные, а с помощью языка XLST данные конвертируются в HTML. Способ решения проблемы интересен, но обязывает дизайнеров знать языки XML и XLST. Эти языки сложны и требует от дизайнеров больших усилий при их изучении. А при использовании XML и XLST теряется возможность визуального редактирования текста. Такая возможность очень важна для пользователей, поэтому XML и XLST следует использовать совместно со старыми технологиями.

    Интересно, а что вы думаете?
     
  2. Andrew Stephanoff

    Andrew Stephanoff Гость

    Я думаю, что дизайнерам не нужно знать XML и XSLT - это удел программистов
     
  3. w1zard

    w1zard Гость

    Я считаю, что тот же язык Smarty только усложняет жизнь как программисту, так и дизайнеру. Во-первых, программист обязан знать smarty и писать код под него. Во-вторых, smarty не всегда понятен дизайнерам... Как например мне, я когда впервые увидел html код со вставками smarty, то у меня сразу сложилось плохое впечатление об этом языке.
    Как по мне, то выходом есть весьма простое решение, но оно не уникально - html код со вставками php. Для дизайнера же, написать простую документацию, как и за что отвечает та или иная вставка php-кода. Я думаю, прочтение документации будет проще, чем знакомство со smarty. Но с другой стороны, в php коде совсем не содержится вставок html. Конечно, отделения представления от логики мы не добились, потому что это просто не реально. Вставки php, вставки smarty, какая разница? - никакой.. Я в своей цмс-ке так и реализовал. Всем все ясно и удобно.
    С тем же xslt и xml тоже не согласен, зачем парсить всё, если можно напрямую вывести? Я считаю, что эти подходы к шаблонизаторам, это лишняя головная боль...
    Все сказаное выше - ИМХО.
     
  4. Andrew Stephanoff

    Andrew Stephanoff Гость

    Тут ты неправ: данные в XML удобно отображать в различных форматах: html, rss, мобильная платформа - достаточно только сменить шаблон. С другой стороны, скорость трансформации пока оставляет желать лучшего
     
  5. w1zard

    w1zard Гость

    Да, встает более важная проблема выбора: скорость или удобство... Я делаю ставки на скорость, хотя последнем временем начинаю в этом выборе сомневатся...
     
  6. Ramozarti

    Ramozarti Гость

    Andrew Stephanoff , скорее верстальщиков. Тогда либо верстальщик должен быть со вкусом, либо дизайнер должен подготовить макеты всех типов страниц на сайте. Мне кажется что XML и XLST сложная для понимания штуковина. Чем она удобнее? Существуют ли системы в которых шаблонизация организована только средствами XML и XLST ?


    w1zard, Думаю что следующий подход подойдёт для разделения кода логики от кода отображения:

    Имеются два файла, в первом осуществляется взаимодействие с базой и вся логика приложения. Первый файл вызывает второй и передает ему данные которые нужно отобразить, второй файл использует HTML и PHP для отображения этих данных. Таким образом есть удобное разделения кода логики от отображения.
     
  7. w1zard

    w1zard Гость

    Я так и делаю постоянно и считаю это лучшим подходом разделения логики и представления :)
     
  8. Andrew Stephanoff

    Andrew Stephanoff Гость

    Ramozarti
    Это смотря как поставлен процесс, не всегда верстальщик шаблоны натягивает на функционал, чаще это делает программист
    А завязывать систему на использование только одного метода разделения логики и представления по меньшей мере глупо. Конечно, есть такие, но современная система должна иметь абстрактный класс представления, от которого мы наследуем различные варианты представлений: посредством php, xslt или smarty.
     
  9. DinnieB

    DinnieB Гость

    Здравствуйте.

    Я считаю что для разработки по-настоящему качественных и производительных сайтов нужно писать свои cms, возможности которой чётко подстроены под потребности проекта, где нет никакого лишнего кода, лично я всегда так делаю для каждого нового сайта. Зато производительность в 10 раз лучше.

    Конечно приходиться дизайнера нанимать, но зато проект получаеться по-настоящему уникальным и производительным.

    Для сравнения:

    Стандартная CMS при каждом запросе пользователя к странице осуществляет по 10-15 запросов к БД. А сама страница с дизайном и всем ненужным кодом весит в среднем 1.3 мега.

    А при использовании собственной cms запросов к БД максимум 7-8. А страница весит килобайт максимум 600.
     
  10. DinnieB

    DinnieB Гость

    sax_ol - вы видимо не совсем так прочитали моё сообщение, я написал максимально затрачиваемые ресурсы при максимально возвышенных потребностях.

    Конечно для простенький сайт-визитка будет весить в 10 раз меньше, и запросов там к бд будет 2-3
     
Загрузка...

Поделиться этой страницей