Как правильнее: инклудить содержание в дизайн, иди дизайн в содержание?

VANHALEN

Новичок
Как правильнее: инклудить содержание в дизайн, иди дизайн в содержание?

Доброе время суток! Гуру помогите! Я только, только начал изучать пхп. Вопрос такой. Я делаю сайт на связке PHP+MySQL. Сделал страницу с дизайном на html (сверху шапка, снизу валенки, слева меню, справа ещё чё нибудь.), посредине таблица в которой
if (!isset($content))
{$content =("about.php");}
include ("$content");
Значение $content задаётся кнопками менюшек, на которые навешаны ссылки типа
?content=нужная страница.php
Вопрос в следующем. Првильно ли я подхожу к построению и не будет ли у меня потом проблемм? Я не знаю что правильнее: инклудить содержание в дизайн, или инклудить дизайн в содержание. Богу описать один из стопоров, который возник при моём подходе. Скажем я сделал админку для добавления новостей туда приинклудил форму в дизайн админки. при отпарвлении естественно я вижу только результат работы скрипта, который занёс новости в базу (тоесть с дизайна как бы вышел, а этого не надо.)... Может есть какой-то способ передать данные скрипту, и оставаться на том же месте? Короче... сам запутался.. Просто хотел бы услышать аргументированный ответ куда и что правильнее инклудить дизайн в скрипт, или скрипт в дизайн.. Очень спасиба!

-~{}~ 17.07.05 08:18:

Кстати.. мои дичные соображения по этому поводу:
Если инклудить содержание в дизайн, то будет быстрее, потому, что загружается только содержание, а если наоборот, то каждый раз придётся загружать дизайн заново. Что вы об этом думаете?
 

Фанат

oncle terrible
Команда форума
Для начала, к сожалению, надо говорить не о дизайне с контентом, а о гораздо более важных вещах.
в самых первых:
Если инклудить содержание в дизайн, то будет быстрее, потому, что загружается только содержание, а если наоборот, то каждый раз придётся загружать дизайн заново. Что вы об этом думаете?
Ма думаем, что тебе, к сожалению, надо почитать про самые основы веб-приложений, поскольку ты их не понимаешь.
прочитай, пожалуйста, внимательно вот этот текст: PHP FAQ: Самые основы. Как работает PHP., а потом ответь на свой вопрос самостоятельно.

Далее.
Код, который ты привёл здесь, представляет собой самую классическую дыру, какая только бывает.
если хакер напишет ?content=секретный файл с паролями, то получит этот файл совершенно без труда.
Даже начинающим следует думать о безопасности своих приложений.

Вот теперь можно перейти, собственно, к дизайну.
Во-первых, ты должен понимать, что не существует идеального способа. И у того и у другого есть свои плюсы и минусы.
Я могу высказать лишь своё мнениё.
Все примеры, которые ты приваодил за или против того или другого решения базируются на недостатке знаний.
А вот теперь посмотри, какие могут быть реальные проблемы.
посмотри в заголовок этого окна. Видишь там название темы? Если ты будешь инклюдить контент в дизайн, то как у тебя получится сделать такой тайтл? И вообще - влиять на дизайн в зависимости от контента?
Далее. Непонятно, нафига вообще писать такой вот код
if (!isset($content))
{$content =("about.php");}
include ("$content");
если можно обойтись и без него, просто обращаясь к файлу content.php напрямую.

Я бы, тебе, как начинающему, порекомендовал придерживаться классической схемы.
к пхп-скриптам обращаться напрямую.
есть у тебя модуль новостей - пишешь news.php
есть гостевая - пишешь guest.php
а в них уже инклюдишь дизайн.
При этом ты можешь инклюдить его в любом месте кода, а не строго сверху. можешь выполнить какие-то действия, к примеру, задать тот же title или вывести определённые HTTP заголовки.

Кстати, ты путаешься в понятиях "скрипт" и "контент". инклюдить имеет смысл только скрипты. (или обращаться к ним напрямую). А КОНТЕНТ инклюдить не надою. Скрипт должен его читать и выводить.
Вот тебе пример скрипта, который выводит КОНТЕНТ:
http://phpfaq.ru/easy/
и передавать имя этого контента в параметрах - очень удобно.
пхп скрипт же таким образом подключать гораздо менее удобно.
 

VANHALEN

Новичок
Ну вот... Я и гвоврю, что толко начал... Начал думать самостоятельно... и надумал инклудить в дизайн... Во ща написал бы на совю голову проблемм... Спасибо! Просто боялся делать наоборот... типо всё громоздко и неудобно. Правда более громоздко было бы переписывать все пути в скрипте гостевой книги (чужой).
 

Фанат

oncle terrible
Команда форума
что именно громоздко и что именно неудобно?

-~{}~ 17.07.05 11:27:

при отпарвлении естественно я вижу только результат работы скрипта, который занёс новости в базу (тоесть с дизайна как бы вышел, а этого не надо.)
после работы скрипта надо делать перенаправление.
по той ссылке, которую я тебе дал, есть пример.
 

VANHALEN

Новичок
www.lotos.ee/test/111.jpg - вот, посмотри... Всё работает на полную страницу (от борта до борта), даже при разрешении 1600/1200. И всё это только 1 таблица. Пожтому наверное мне и страшно было всё это дело инклудить.. Полступил так, как в голову пришло. Дело в том, что я даже сейчас с трудом представляю как мне сделать навигацию по сайту, если вот это вот меню слева приинклудить. Я знаю... молодо, зелено.. Это проходит всё и лечится... Только я с лечением не хочу затягивать.. и тогда через пол годика я сам уже буду отвечать на такие вопросы и не только себе.
 

Фанат

oncle terrible
Команда форума
какая проблема с навигацией?
в "дизайне" делаешь раздел со ссылками. они будут на всех страницах. Это тебя не устраивает?
 

IBSN

Новичок
Дело в том, что я даже сейчас с трудом представляю как мне сделать навигацию по сайту, если вот это вот меню слева приинклудить.
Конструкция меню у тебя очень легкая, соответственно и верстается легко. Может быть, смею предположить, ты верстаешь не так?
 

VANHALEN

Новичок
Всё... Понял.. я наверное просто не выспался. Я оставляю таблицу как есть, только выкидываю из неё всю гарфику, заполняю ячейки с помощью include а в центральной ячейке остаётся код самого скрипта, потом на кнопки меню навешиваю прямые ссылки на скрипты... Только вот есали у меня скрипты лежат в разных местах получается, что мне каждый раз в include менять пути к графике надо.. Ладно... Я конечно разберусь. Просто хорошо, что мне вовремя мозги вправили, пока я глупостей не наделал.......
 

Фанат

oncle terrible
Команда форума
непонятно, а зачем выкидывать графику?

чтобы не писать разные пути к графике, надо писать абсолютный путь.
PHP FAQ: Различие между абсолютными и относительными путями. В файловой системе и на сайте.

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

Vadim S.

Новичок
Мои мысли на эту тему...

я почти всегда вставляю содержание в дизайн. (http://dklab.ru/chicken/nablas/16.html опять-таки...=) )

Есть конечно некоторые проблемы и неудобства при установках кукисов, хедеров и прочего, но они достаточно просто решаются...
подключение файлов делаю почти так же как описал VANHALEN, с той только разницей, что я использую mod_rewrite и естесственно делаю проверки на корректность данных в пути...

из плюсов которые для меня наиболее важны:

1. Один шаблон с дизайном и он же индексный (будем называть его index.html)
2. Все подключаемые файлы лежат в одной директории (к которой доступ извне закрыт), что для меня удобнее если надо что-то отредактировать...

разбор путей отдаю mod_rewrite на растерзание =)
(некоторые могут возразить что mod_rewrite тормозит работу всего сайта, ну а что делать если к конфигу апача нет доступа =) )


P.S.: хотя начинал я как раз наоборот, я в скрипты подключал дизайн....

P.S.:
 
Сверху