Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Лаяут и инклуды.


Автор: NetJunky 30.5.2009, 23:10
Всем привет!
Хотел сделать для index.php лаяут, как на картинке:
user posted image
и в каждую ячейку делать require_once того, что будет отображаться в ней.
Стоит ли так? Кто думает как-то иначе буду рад услышать мнение или совет, а лучше и то и другое.

П.С. Заранее спасибо всем.

Автор: skyboy 31.5.2009, 00:43
Цитата(NetJunky @  30.5.2009,  22:10 Найти цитируемый пост)
Хотел сделать для index.php лаяут

ты хотел сказать: "мой php будет генерировать html c подобным layout"? какая связь между трехколоночным макетом страницы и языком программирования PHP?
в чем вопрос? можно ли использовать require_once для подключения одних скриптов в другие? да, можно.

Добавлено через 1 минуту и 11 секунд
спрашиваю не просто так: либо тема для "HTML/CSS", либо для "Теория вебдизайна".

Автор: NetJunky 31.5.2009, 01:02
Нее. Видимо выразился не коректно. Прошу прощения.
Хотел спросить, хорошая ли это идея(подход), чтобы содержимое каждой ячейке было отдельным файлом и инклудилось в неё?

что-то типо:
Код

<?php
echo "
    <html>
        <body>
            <table border='1' width='100%'>
                <tr>
                    <td colspan='3'>".require_once("./layout/top_pane.php")."</td>
                </tr>
                <tr>
                    <td>".require_once("./layout/left_pane.php")."</td>
                    <td>".require_once("./layout/content_pane.php")."</td>
                    <td>".require_once("./layout/right_pane.php")."</td>
                </tr>
                <tr>
                    <td colspan='3'>".require_once("./layout/bottom_pane.php")."</td>
                </tr>
            </table>
        </body>
    </html>
";
?>


или же лучше чтобы index.php уже содержал какой-то HTML или это свободное желание автора.
Вот об этом совета спрашивал.

Просто в прошлом получился бардак. Всё было и даже кусочки ЯваСкрипта.
Хотелось в этот раз как-то органезованей, а не так чтобы код только я понимал.

П.С. Коменты в коде не помогут... smile  smile

Добавлено через 2 минуты и 31 секунду
Эммм...Затрудняюсь ответить. Думал, что для PHP... smile 

Автор: azesmcar 31.5.2009, 01:13
Цитата(NetJunky @  31.5.2009,  01:02 Найти цитируемый пост)
или же лучше чтобы index.php уже содержал какой-то HTML или это свободное желание автора.

свободное желание автора. smile 

Цитата(NetJunky @  31.5.2009,  01:02 Найти цитируемый пост)
Просто в прошлом получился бардак. Всё было и даже кусочки ЯваСкрипта.

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

Автор: NetJunky 31.5.2009, 01:21
azesmcar, просто желание в том чтобы сделать движок самому. Вот учусь пока, но интересуюсь. А как быть с шаблонами. Как их создавать и использовать?

Автор: azesmcar 31.5.2009, 01:26
Цитата(NetJunky @  31.5.2009,  01:21 Найти цитируемый пост)
azesmcar, просто желание в том чтобы сделать движок самому. Вот учусь пока, но интересуюсь. А как быть с шаблонами. Как их создавать и использовать? 

Самому тоже можно написать, гляньте какой нибудь для примера, сразу все станет ясно.
Например:
http://www.massassi.com/php/articles/template_engines/

вот тут на монстрика можно посмотреть smile 
http://www.smarty.net/sampleapp/sampleapp_p1.php
маленький пример (внизу есть ссылки Page 2, Page 3)..пройдитесь, почитайте.

Автор: NetJunky 31.5.2009, 01:53
azesmcar, большое спасибо.
Тему пока не буду отмечать решённой, так как вдруг ещё последуют советы или предложения.

Автор: Xavier 2.6.2009, 15:00
Посмотрите на структуру и реализацию 3х колоночного шаблона для вордпресса...
по-моему, это то, что вы ищете  smile 

Автор: mogul82 2.6.2009, 20:36
Изучай Joomla и сразу станет понятней.
А то можно будет написать целую книгу, так что ты уж сам. 

Автор: NetJunky 3.6.2009, 00:44
mogul82, у йомлы в этом плане понятный код? А то пробовал DLE, хоть стреляйся. Да шаблоны, да функциональна, но как написано - кошмаааар. Хотя что тут сказать кому что читабельно. Мне их код не дался.

Спс за советы, последую им и поизучаю.

Автор: mogul82 4.6.2009, 20:59
Нормально, пару шаблонов и поймеш как работает она, смотри url в админке поймеш как подкл. модули и т.п.
Поковыряйся в mod_mainmenu поймеш как модули взаимодействуют с настройками и админкой.

Автор: NetJunky 4.6.2009, 21:29
mogul82, ясно. Просто старый сделал так http://www.art-coder.com/ttu/site/ , но там код читаю только я. А хотелось бы с шаблонами и т.д. В ближайшие дни планирую за JavaScript приняться + XML.

Автор: xZ0RGx 5.6.2009, 04:05
Сама идея неплоха и несколько поближе к ООП, чем просто кодописательство. Это хорошо когда такие идеи по оптимизации приходят в голову.
Если проект сам по себе не маленький, тогда есть смысл снести большинство функционала в ядро, а в каждый файл подключать это ядро require_once() и уже из файлов вызывать функции в ядре, которые будут просто выполнять какие-то действия или еще и возвращать какой-то результат. Далее относительно шаблонов.

В шаблоны имеет смысл перетаскивать только большие повторяющиеся куски кода. Не думаю, что рационально шаблонизировать все подряд. 
Например каждый HTML документ начинается с задания doctype, мета тегов, подключения стилей и скриптов. Если в вашем проекте для каждого html файла подключаются одни и те же таблицы стилей и яваскрипты, то есть смысл снести верхнюю часть в шаблон и подключать этот шаблон include_once()

Могу посоветовать Notepad++ c расширением Compare для таких вещей. Ну или можете просто юниксовым diff посмотреть smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)