Разделение Кода и Контента
пусть у меня есть форум, который конечно работает с базой данных и выводит содержимое в виде таблицы с подставлениями результатов извлечения данных из базы.
скажем, я достаю данные про пользователя. В результате сформирую ассоциативный массив,скажем, $user.
после этого идет таблица
...
<? include("formUserArray.inc"); ?>
<td><? echo($user["name"]); ?></td>
<td><? echo($user["city"]); ?></td>
и т.д.
считается ли это достаточно для отделения кода от содержимого? if you know what I mean:)
Обычно в PHP под разделением кода и данных понимают работу с шаблонами.
Вот мое решение:
http://www.codenet.ru/webmast/php/txml.php
Вот не мое решение:
http://www.codenet.ru/webmast/php/templates1.php
чей-та у тебя там не все понятно:)
мы имеем шаблон template.xml
откуда я могу знать, сколько там будет элементов <record></record> ? получается, я либо должен преварительно заполнить шаблон необходимым количеством таких элементов, а потом уже делать то, что там предложено, либо все-таки придется вначале из базы считать колиечество сообщений а потом нужное количество раз в цикл запихнуть то, что у тебя написано.
:)правда, возможен третий варианит: я недостаточно знаком с xml и чего-то недопонял.
очень небольшая и простая, но там принцип который вполне эффективен. Я только так пишу, без лишних функций.
http://interuser.com.ru/portal/?pg=7
чей-та у тебя там не все понятно:)
мы имеем шаблон template.xml
Это же просто конкретный пример, под конкретную задачу. Используя XML и XSL можно делать что любые шаблоны.
А вообще, ведь, PHP был создан для встраивания кода в контент !!!!
Как пацан, блин, малолетний.. "Язык из задницы, хочу всем понравицца.." Обдумай своё убогое поведение. Гуру, не гуру, речь была не о том.. Я не пытаюсь претендовать на титул, которого пока не заслужил.. В отличие от тебя.. Может ты какой неизвестной болезнью инфицирован? Не въезжаешь, так сказать, ни при первом прочтении, ни при втором.. Или это уже даунизм.. В общем, меня не пекут твои проблемы, но язык тебе советую помыть, и подрезать.. Больно он у тебя длиный, и страшный..
предположим, я хочу сделать такой форум, чтобы один и тот же движок можно было использовать для разных дизайнов. задача, по-моему, вполне типичная. Т.к. пока у меня нет времени на глубокую работу с XML, я выберу вариант с заменой собственных пометок-комментариев в HTML-коде на результат работы отделенного скрипта.
не будем трогать главную страницу форума и спосок тем в разделе, а перейдем к сообщениям в теме.
понятно, что каждое сообщение - однотипно оформленный кусок HTML-кода, который в "бесшаблонной" реализации запускался в каждой итерации цикла while($row=mysql_fetch_array($result)).
теперь я хочу HTML код вынести в файл шаблона.
Встает проблема: откуда мне знать, сколько таких однотипных кусков кода, т.е. сообщений будет на странице?
Раньше-то это автоматически регулировалось - кончились сообщения в базе - и все.
может я чего-то не понимаю?
вот в чем вопрос..
теперь я хочу HTML код вынести в файл шаблона.
Встает проблема: откуда мне знать, сколько таких однотипных кусков кода, т.е. сообщений будет на странице?
вот в чем вопрос..
будешь получать каждое сообщение снова из while()
но теперь создаешь на его основе переменные и вставляешь их в шаблон
while($row=mysql_fetch_array($result))
{
include "post_table.tpl";
}
а уже в post_table.tpl пишешь
<tr><td><?php echo $row[чего-то там] ?></td><tr>
то есть сколько сообщений столько раз будет инклюдится шаблон поста с новыми переменными(именем отправителя. текстом и пр..)
если перед while() инклюдить шаблон с началот таблицы, а после с завершением то и получится страничка темы...
Спасибо!
А вот слона-то я и не замееетил:)))
Спасибо!
Попробуй настрой phpBB или vBulletin. И ты поймешь как все просто делается.
не понял:)) что имелось в виду? ты имел в виду, что рановато форум писать? так один-то есть уже - хочу модифицировать под многократное использование. а PhpBB перегружен функциями. мой "заказчик" против не только аватаров, но даже подписей. и я в какой-то мере с ним согласен.
зы. может я неправильно тебя понял? ты имел в виду сложность настройки PhpBB? короче замяли
Да, нет. Я про то что там все это реализовано, и настаивая ты посмотришь как там реализованы шаблоны.
А там они реализованы, имхо, лучшим (если не считать XML) способом.