includy do indexu nebo do jiných php?

Mám pocit, že už jsem to tu nadhazoval, ale nebyl jsem schopný to tady ve fórech najít (třeba to Thalia najde (-; ). Tak znova:
Co myslíte, že je lepší, vytvořit index.php a podle get parametrů includovat obsah dalších stránek nebo přesměrovávat na různé php a v nich includovat hlavičku, menu atd? A proč?
Já myslím, že to záleží na vkusu každého soudruha.

U menších projektů bych v index.php klidne nechal logiku, která rozhodne, co kde inkludovat, u větších bych spíš v index.php dal jen include na hlavicku, levy, pravy, paticka a v nich pak vyhodnocoval, co došlo z GET. Raději si velkou úlohu rozdělím na několik menších a ty řeším odděleně (v hlavicce.php atd.).
Já zásadně dělám index, do kterýho includuju úplně všechno od hlavy až k patě.
Já jsem na tom stejně, jako blahapet
Já taktéž používám index.php, kam includuju vše. (MzM, nic jsem nenašla ;-), ale dneska mám na hledání celkově špatnej den... Asi hledám špatně.)
to ja jsem vyjimka. delam si hlavu a patu stranky ktery includuju do kazdyho souboru

prijde mi to prehlednejsi.
Marku, proste $_GET prevazuje ;) takze volba je jasna...bo to zkombinujem
spook:

Máš částečně IMHO pravdu, ale co když plácnu dejme tomu, že budu mít v hlavičce jedno menu a pak budu chtít udělat jakýsi podmenu třeba na levý straně anebo tam dát úplně jedno co, s tím, že by se to mělo zobrazovat na všech stránkách, tak bys pak musel zasahovat do všech souborů, kdežto v mým případě bych to udělal pouze v souboru index.php.
blahapet, tak to uděláš v menu.php, které se includuje všude.
Podle mě jsou tyhle dva způsoby ekvivalentní, přičemž ten bez index.php mi přijde takový přehlednější, není tam zbytečně moc parametrů v hlavičce.
23k už jsem to psal, tak i vám. Viděl jsem Velký systém v JSP a tam je to dělané právě jednotlivýma souborama, do kterých se všechno includuje.
Ještě se porozhlédnu po netu a rozhodnu se.
MzM:

>> tak to uděláš v menu.php, které se includuje všude.

To ano, ale děláš to v X souborech místo jen v jednom.
2blahapet: mozna jsem se spatne vyjadril

kazdy muj soubor vypada zhruba takhle:
<?php require_once 'hlava.php'; ?>
...obsah stranky
<?php require_once 'pata.php'; ?>

a do hlavy a paty jeste includuju dalsi veci(dle libosti), takze vzdycky upravuju jednu sablonu a zmena se provede okamzite na vsech strankach. obcas tam davam jeste promene a v sablone mam podminky, co se kdy ma zobrazovat.

doufam ze ted jsem se vyjadril lip;-))
Třeba wz fórum je dělané soubory a include...
php.com, taky....
sourceforge.net taky...
FileNet taky...
jakesi weby o CS taky...
Cely autocont taky....
Pravidla.cz taky....
....
prostě, kam jsem vlezl na větší web, který mě napadl, tak tam to bylo dělané přes kybl souborů a ne přes index s get parametrem.
Tak jak?
blahapet, všude je include menu.php
když udělám změnu v menu.php, tak se, pochopitelně, projeví všude.
tj, ale kód <?php include("menu.php"); ?> musíš nastrkat do všech souborů, tak jsem to myslel. Pak je jasný, že když se udělá změna v tom menu, tak se to projeví všude. Už to ale neřeš, pochopil jsem spooka, jak to vlastně myslel.
ja jsem best! :D
a ja jsem 0 ! :/
;)
ja mam len index.php a mam v nom:


....
<?
if ($page) {
if (file_exists("pages/$page.php")) {
include("pages/$page.php");
}
else {
echo "Zadana adresa nie je spravna! Skontrolujte ju!";
}
}
?>
....


takze mam len index.php a do neho sa includuju ostatne subory podla adresy, a podla mna je tento sposob najprehladnejsi
index.php?page=../hesla.txt :o)
mk: myslíš, že by tam měl nějaký soubor hesla.txt.php? a myslíš, že by se ty hesla ukázaly, pokud už by ten soubor existoval, tak by ty hesla měl zřejmě jako proměnné v php....

ale jinak je samozřejmě asi o něco málo bezpečnější mít nadefinováno pole stránek, které můžou být includovány a s ním to porovnávat.
hesla by mely byti v DB bo kdyz v souboru tak mimo dosah HTTP:// cili o 1 uroven vyse.

Pole je dle meho zbytecne, staci si stranky ukladat nekam do adresare treba

$_PAGES_$

a nikdo nevi odkud to tahate. Pomoci File_exist(); zajistit aby se v pripade modifikace url nezobrazily chybne hlasky a je TO!
Tak to znovu odkrývám.
Vyrobil jsem si dříve reklamované objekty na stránky. Po napsání jakéhosi templatu se pak tránky tvoří stylem:
<?php
require('vzor.php');
# definuje objekt $p,reprezentujici stranku

$p->html_content->add_content("toto je moje stranka", 0);
# vse je asi ready, tak to vyplivnem.
$p->title = "druha objektova stranka";
$p->css = "main.css";

$p->render();
?>

toto obsahuje hlavičku, napojení na db, vyřešené věci okolo oprávnění, menu (víceúrovňové) atd.

Tak jsem se dochlubil, teď proč to píšu. Pokud mám menu dělané tímto způsobem (načítá se při každé stránce z db), tak musím zjistit, která položka menu je aktivní a tu označit. Jak to udělat.
Můžu porovnávat to, kde jsem s tím kam mě odkazují položky menu. Ale to má úskalí. Pokud hledám podřetězec odkazu z položky menu v url, tak se mi může stát, že "index.php?sekce=user" a "index.php?sekce=user&podsekce=zapisnik" budou oboje zvýrazněné...
Jak toto řešíte?
Dá se to udělat tak, že se bude skutečně mydlit všechno v index.php a předá se akorát index položky menu z db a tam už je adresa souboru,která se vloží.
Nebo se zajistí, že všechny názvy v menu budou jednoznačné.
Nebo se přidá ještě id z db, což nevím jak moc je efektivní... Ale asi jo.
Takže ještě jednou, jak děláte menu?
hm, ja to robim trosku inak. index.php je zakladny exekucny subor. z neho su volane vsetky ostatne podsubory. je v tom urcita hierarchia. index.php vola indexer.php ktory rozhoduje, ktory podsurob sa bude prave spracuvavat. index.php dalej obsahuje includy najdolezitejsich kniznic a definicie instancii objektov. Napr - zavolam si na zaciatku index.php prikaz:

include('libs/DbLib.php');

$db = new DbLib;

Vytvoril som novu instanciu objektu ktory pracuje s databazami. Potom indexer zavola podsubor podla jednoznacneho parametra predavaneho bud pomocou GET alebo POST metody. V podsubore uz mozem rovno pouzivat objekty definovane na zaciatku index.php a nemusim sa zatazovat deklaraciami objektov, funkciami a spolocnymi premenymi pre cely web pretoze su dostupne kdekolvek v hierarchii a definovane v indexe.
Tymto sposobom usetrite 25-50% kodu a zvysite tym rychlost svojich aplikacii.

asi tolko z mojej strany
Já používám v NWW index.php, do kterýho se includuje obsah.
Teď ale třeba spolupracuju na e-shopu v ASP.NET, a tam je to udělaný opačně.

IMO záleží na každym, co si zvolí.