Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Разделение Кода и Контента

291
26 мая 2004 года
gufy
703 / / 08.01.2003
начитался тут php Inside и не могу до конца понять что subj конкретно означает?
пусть у меня есть форум, который конечно работает с базой данных и выводит содержимое в виде таблицы с подставлениями результатов извлечения данных из базы.
скажем, я достаю данные про пользователя. В результате сформирую ассоциативный массив,скажем, $user.
после этого идет таблица
...
<? include("formUserArray.inc"); ?>
<td><? echo($user["name"]); ?></td>
<td><? echo($user["city"]); ?></td>
и т.д.
считается ли это достаточно для отделения кода от содержимого? if you know what I mean:)
4
26 мая 2004 года
mike
3.7K / / 01.10.2002
Не совсем.

Обычно в PHP под разделением кода и данных понимают работу с шаблонами.

Вот мое решение:
http://www.codenet.ru/webmast/php/txml.php

Вот не мое решение:
http://www.codenet.ru/webmast/php/templates1.php
287
27 мая 2004 года
Shiizoo
958 / / 14.03.2004
Хмх, а я считаю, для такого дела как 'шаблоны' нужно писать отдельную либу, класс, или еще как назовите.. Полноценную либу.. Вот сейчас я завязан в проекте, и поначалу решил тоже использывать простейший скрипт, навроде 'для работы с шаблонами', что конечно же совсем не правда.. Шаблоны ведь подразумевают свободу действия, достаточную гибкость, и т.п. и т.п. и т.п.=) Поэтому в общем пришлось писать либу.. Хтя, кто знает, может для простейшего сайтика, и уместны крохотные шаблон-енджины.. Но опять же, если далее работать над сайтом будешь работать не ты, а, к примеру, плохенький админ от фирмы заказчика, то думаю сложно будет ему разобраться в сполшняке процедурного кода=) Золотой серединой я считаю микро-движочек используемый в PHPBB.. В последней версии, предыдущих не видел..)) Очень симпотично, достаточно гибко для юзания с форумом, и весьма и весьма компактно..) Я-то с пхп не работаю, а вам, или кому там, пхпэшникам в общем, советовал бы взглянуть на их решение.. Вот perl-овых к примеров, достойных, к сожалению еще не встречал ( Все что валяется на популярных сайтах, расписывается в статьях, лажа.. Конкретная лажа.. А всякие портал-движки, блин, используют довольно простенькие, никак не гибкие, решения.. Ребят, если кто знает качественную template либу под perl , отзовитесь, хочется посмотреть на примеры решения такой задачи.. А-то ведь постоянно изобретать велосипед больно муторно=)
291
27 мая 2004 года
gufy
703 / / 08.01.2003
Цитата:
Originally posted by mike
Вот мое решение:
http://www.codenet.ru/webmast/php/txml.php


чей-та у тебя там не все понятно:)
мы имеем шаблон template.xml
откуда я могу знать, сколько там будет элементов <record></record> ? получается, я либо должен преварительно заполнить шаблон необходимым количеством таких элементов, а потом уже делать то, что там предложено, либо все-таки придется вначале из базы считать колиечество сообщений а потом нужное количество раз в цикл запихнуть то, что у тебя написано.
:)правда, возможен третий варианит: я недостаточно знаком с xml и чего-то недопонял.

6.5K
27 мая 2004 года
LD100
29 / / 22.05.2004
вот статейка по шаблонам
очень небольшая и простая, но там принцип который вполне эффективен. Я только так пишу, без лишних функций.

http://interuser.com.ru/portal/?pg=7
4
27 мая 2004 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by gufy

чей-та у тебя там не все понятно:)
мы имеем шаблон template.xml



Это же просто конкретный пример, под конкретную задачу. Используя XML и XSL можно делать что любые шаблоны.

А вообще, ведь, PHP был создан для встраивания кода в контент !!!!

287
29 мая 2004 года
Shiizoo
958 / / 14.03.2004
Alone, ты видимо из тех немногих людей, кто не имея в башке ничего, пытается создать невозможную видимость превесходства над кем-бы то ни было.. В данном случае ты на меня, как паршивая моська все лезишь, и лезишь..=) Поясню тебе сразу, что язвить тебе смысла нету.. Прогуляйся у себя там, где-то, неизвестно где, и порамси в своем сомнительном кругу обитания, а здесь не рявкай и сиди смирно..

Как пацан, блин, малолетний.. "Язык из задницы, хочу всем понравицца.." Обдумай своё убогое поведение. Гуру, не гуру, речь была не о том.. Я не пытаюсь претендовать на титул, которого пока не заслужил.. В отличие от тебя.. Может ты какой неизвестной болезнью инфицирован? Не въезжаешь, так сказать, ни при первом прочтении, ни при втором.. Или это уже даунизм.. В общем, меня не пекут твои проблемы, но язык тебе советую помыть, и подрезать.. Больно он у тебя длиный, и страшный..
4
29 мая 2004 года
mike
3.7K / / 01.10.2002
Напомню, что речь идет о разделении кода и контента !!!
291
10 июня 2004 года
gufy
703 / / 08.01.2003
[off]несмотря на некрасивый поворот в дискуссии, продолжу:)[/off]
предположим, я хочу сделать такой форум, чтобы один и тот же движок можно было использовать для разных дизайнов. задача, по-моему, вполне типичная. Т.к. пока у меня нет времени на глубокую работу с XML, я выберу вариант с заменой собственных пометок-комментариев в HTML-коде на результат работы отделенного скрипта.
не будем трогать главную страницу форума и спосок тем в разделе, а перейдем к сообщениям в теме.
понятно, что каждое сообщение - однотипно оформленный кусок HTML-кода, который в "бесшаблонной" реализации запускался в каждой итерации цикла while($row=mysql_fetch_array($result)).
теперь я хочу HTML код вынести в файл шаблона.
Встает проблема: откуда мне знать, сколько таких однотипных кусков кода, т.е. сообщений будет на странице?
Раньше-то это автоматически регулировалось - кончились сообщения в базе - и все.
может я чего-то не понимаю?
вот в чем вопрос..
6.5K
11 июня 2004 года
LD100
29 / / 22.05.2004
Цитата:
while($row=mysql_fetch_array($result)).
теперь я хочу HTML код вынести в файл шаблона.
Встает проблема: откуда мне знать, сколько таких однотипных кусков кода, т.е. сообщений будет на странице?
вот в чем вопрос..



будешь получать каждое сообщение снова из while()
но теперь создаешь на его основе переменные и вставляешь их в шаблон

while($row=mysql_fetch_array($result))
{


include "post_table.tpl";


}

а уже в post_table.tpl пишешь

<tr><td><?php echo $row[чего-то там] ?></td><tr>

то есть сколько сообщений столько раз будет инклюдится шаблон поста с новыми переменными(именем отправителя. текстом и пр..)
если перед while() инклюдить шаблон с началот таблицы, а после с завершением то и получится страничка темы...

291
11 июня 2004 года
gufy
703 / / 08.01.2003
А вот слона-то я и не замееетил:)))
Спасибо!
4
11 июня 2004 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by gufy
А вот слона-то я и не замееетил:)))
Спасибо!



Попробуй настрой phpBB или vBulletin. И ты поймешь как все просто делается.

291
11 июня 2004 года
gufy
703 / / 08.01.2003
не понял:)) что имелось в виду? PhpBB перегружен функциями. мой "заказчик" против не только аватаров, но даже подписей. и я в какой-то мере с ним согласен.
4
11 июня 2004 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by gufy
не понял:)) что имелось в виду? ты имел в виду, что рановато форум писать? так один-то есть уже - хочу модифицировать под многократное использование. а PhpBB перегружен функциями. мой "заказчик" против не только аватаров, но даже подписей. и я в какой-то мере с ним согласен.
зы. может я неправильно тебя понял? ты имел в виду сложность настройки PhpBB? короче замяли



Да, нет. Я про то что там все это реализовано, и настаивая ты посмотришь как там реализованы шаблоны.

А там они реализованы, имхо, лучшим (если не считать XML) способом.

291
11 июня 2004 года
gufy
703 / / 08.01.2003
ну, я так и подумал. спасибо за совет:))))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог