Přičemž index.php nedelá nic jiného, než že definuje cesty k ostatním dvou adresářům app a libs (jako konstanty) a předá řízení zaváděcímu souboru aplikace.
require APP_DIR . '/bootstrap.php'; // load bootstrap file
Velmi podobně vypadá index.php i ve Wordpressu. Čistě náhodou by ty dva soubory sloučit nešly?
Kdysi se slučovalo až tak extrémně, že v index.php bylo všecko... :) Jinak - je to otázka "rozumné meze", kterou má každý programátor někde jinde. IMO je rozumné mít v index.php opravdu jen to nejnutnější, tedy cesty, základní include a nějaké main(); Něco jako býval stub.obj, kdo ho pamatujete :)
Ano, třeba sNews bývaly složeny z jednoho souboru - a jaká to byla pohoda. IMHO by v index.php mělo být vše, co je potřeba ve 100 % případů, čili například kontrola toho, zda je web ve stavu offline nebo online, kontrola blokace IP adresy (pokud je) apod. ... mít 100 tříd ve 100 souborech je zběsilost :-)
Já třeba většinou mám bootstrap a index sloučený (když píšu v Zendu nebo Nette).
Záleží na povaze frameworku, někde si skládáte strukturu sám (Zend, Nette) a tam si píšete index i bootstrap - pak to můžete sloučit (když k tomu máte důvod). V jiném frameworku (CakePHP, Code Igniter) dostáváte sktrukturu předvyplněnou a tam se bootstrap.php hodí.
Sloučit by samozřejmě šly. Jen prostě aplikační kód raději vidím v adresáři s ostatním aplikačním kódem, než v document_root. Existují i ryze praktické důvody: mám třeba klienta, který provozuje cca desítku eshopů na různých doménách a subdoménách. Vnitřně jde o stále stejnou aplikaci, takže každý jednotlivý index.php definuje jen cesty a konstantu `SHOP_ID` pro rozlišení obchodu a volá bootstap.php, který už je pro všechny shopy společný.