IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   разделяем страницу на ПХП (http://www.imho.ws/showthread.php?t=81541)

Svinger 12.03.2005 18:49

разделяем страницу на ПХП
 
Я только недавно стал заниматься ПХП и ещё не доконца понял оргонизацию всей работы ( т.е. именно програмировать умею) а вот сайты "строить" ещё нет, мне бы смысл понять.
Собственно у меня такая проблема мне надо: Сделать сайт "из 4ёх" частей. И что бы Сверху ( шапка хронилась в одном отдельном фаеле, слево было меню, тоже 1 отдельый фаил справо Было что то типа голосования, логин, поиск, а по середине собственно информационное место ( статьи, новости), которые бы хранились тоже отдельно от всего.
И просто в конце когда запускажет страницу фаилы подгружались и и строили страницу, как задуманно... это очень удобно, если надо поменять шапку на всём сайте сразу( а оно так пчти всегда и бывает), то просто лезим в 1 фаил меняем её там и сразу на всех страницах уже новая подгружаться будет, тоже самое с меню.
З.Ы. кто не понял, по в пример можно поставить изменения внешности на форумах, там тоже в 1ом фаеле можно поменять верх форума сразу на всём форуме.

З.Ы. есле начнёте давайть исходники движков, то желательно на русском :)

DeADMoroZ 12.03.2005 20:32

Если без шаблонов, то просто делищь ХТМЛ-код страницы на части, скидываешь в отдельные файлы. Потом в скрипте просто их склеиваешь, получается что-то типа этого:
PHP код:

<?php
 
require("header.php");
 require(
"left_menu.php");
 echo 
"Контент"
 require(
"right_menu.php");
 require(
"footer.php");
?>


Svinger 12.03.2005 22:33

и эту страницу ( с кодом которой ты мне дал) делать главной?


З.Ы. почему без шаблонов? можно и с ними, просто что бы они на русском были...

Al-x 13.03.2005 01:35

Да, делаешь её главной. Файлы header.php (и т.д.) генерируют содержание шапки (...), т.е. header.php может выглядеть так:
PHP код:

<?php
echo '<html>
<head>
<title>Заголовок</title>
</head>
<body>
<h1>Это шапка</h1>
'
;
?>

С шаблонами не всё так топорно :)

Fiery_Fenix 14.03.2005 03:31

Зато с помощью шаблонов правильно организуется разделение бизнес-логики и логики представления :)
2 Svinger Если есть желание поработать с шаблонами рекомендую глянуть в сторону Smarty (_http://smarty.php.net/), там и доки на русском есть...
ЗЫ И не надо мне говорить что он большой, медленый, неповоротливый и т.п. При правильной настройке он ничем не уступает по скорости простому перемешиванию РНР и ХТМЛ кода (сам проверял). Все естественно ИМХО :)

HI LIFE 16.03.2005 01:25

или так с использованием класса
PHP код:

<?
require("vars.class");
$my=new class_vars;
  
include(
$my->PATH_INC."/top.inc");

?>
<tr><td width="200" valign="top">
<? include($my->PATH_INC."/menu.inc"); ?></td>
<td width="1" bgcolor="#000000"></td>
<td valign="top" width="80%">
<? include($my->PATH_INC."/main.inc"); ?></td>
</tr>
<?

include($my->PATH_INC."/bottom.inc");
?>

код класса

PHP код:

<?
class class_vars
{

var 
$PATH_INC="inc/"
var 
$PATH_WWW_PIC="pic/";

}
?>


Hubbitus 16.03.2005 15:05

Цитата:

Fiery_Fenix:
ЗЫ И не надо мне говорить что он большой, медленый, неповоротливый и т.п. При правильной настройке он ничем не уступает по скорости простому перемешиванию РНР и ХТМЛ кода (сам проверял). Все естественно ИМХО
Извини конечно, но простая логика подсказывает, что любая обработка, будет долше чем никакой! И дело не в моих пристрастиях или выборе, и не в настройках там каких-то даже...

Вобщем про шаблоны мы многое уже обсудили здесь http://www.imho.ws/showthread.php?t=66567 , есть пища для ума :)

Sheryld 16.03.2005 21:11

Цитата:

Сообщение от HI LIFE
или так с использованием класса
PHP код:

<?
require("vars.class");
$my=new class_vars;
  
include(
$my->PATH_INC."/top.inc");

?>
<tr><td width="200" valign="top">
<? include($my->PATH_INC."/menu.inc"); ?></td>
<td width="1" bgcolor="#000000"></td>
<td valign="top" width="80%">
<? include($my->PATH_INC."/main.inc"); ?></td>
</tr>
<?

include($my->PATH_INC."/bottom.inc");
?>

код класса

PHP код:

<?
class class_vars
{

var 
$PATH_INC="inc/"
var 
$PATH_WWW_PIC="pic/";

}
?>


тогда уж логичнее использовать конструкцию define:

define("PATH_INC","inc/");

а то какой-то странный класс у тебя:)


Часовой пояс GMT +4, время: 00:37.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.