Napisalem cos takiego, ale wiem, ze to jest zle:
index.php:
<?php
// read current path
$thisPath=$_SERVER[\"SCRIPT_FILENAME\"];
$main=substr($thisPath, 0
, $end);
// set pathes
// all pathes contain \"/\" on the end
$GLOBALS[\"_PATHS\"][\"main\"]=$main;
$GLOBALS[\"_PATHS\"][\"config\"]=$main.\"config/\";
$GLOBALS[\"_PATHS\"][\"controllers\"]=$main.\"controllers/\";
$GLOBALS[\"_PATHS\"][\"classes\"]=$main.\"classes/\";
$GLOBALS[\"_PATHS\"][\"images\"]=$main.\"images/\";
$GLOBALS[\"_PATHS\"][\"models\"]=$main.\"models/\";
$GLOBALS[\"_PATHS\"][\"libs\"]=$main.\"libs/\";
$GLOBALS[\"_PATHS\"][\"photos\"]=$main.\"photos/\";
$GLOBALS[\"_PATHS\"][\"styles\"]=$main.\"styles/\";
$GLOBALS[\"_PATHS\"][\"templates\"]=$main.\"templates/\";
$GLOBALS[\"_PATHS\"][\"views\"]=$main.\"views/\";
// load config
$GLOBALS[\"_CONFIG\"]=$conf;
// include libaries
require($_PATHS['libs'].\"db_mysql_dev.php\");
require($_PATHS['libs'].\"mapper.php\");
// start
require($_PATHS['controllers'].\"front.php\");
?>
ustalam sciezki
czytam konfiguracje
includuje biblioteki i na koncu przekazuje kontrole do wlasciwego kontrolera
A wlasciwy kontroler wyglada tak:
front.php
<?php
// module
$module=null;
if(isset($_GET[\"module\"])) $module=$_GET[\"module\"];
if(isset($_POST[\"module\"])) $module=$_POST[\"module\"];
// select module
switch ($module){
case \"konkurs\":
require($_PATHS['controllers'].\"competition.php\");
break;
case \"regulamin\":
require($_PATHS['controllers'].\"rules.php\");
break;
case \"dodaj\":
require($_PATHS['controllers'].\"add.php\");
break;
case \"porady\":
require($_PATHS['controllers'].\"advices.php\");
break;
case \"galeria\":
require($_PATHS['controllers'].\"gallery.php\");
break;
case \"nagrody\":
require($_PATHS['controllers'].\"awards.php\");
break;
case \"organizatorzy\":
require($_PATHS['controllers'].\"organisers.php\");
break;
default:
require($_PATHS['controllers'].\"competition.php\");
break;
}
?>
dodam ze powyzszy kontroler jest zrzutowany na odpowiedni dzialy. Tzn. powyzszych requierow jest tyle ile mam glownych dzialow - przyciskow w glownym menu.
Zatem glowny kontroler przekazuje kontrole dalej do kolejnych 'Page controllerow'? tak sie to nazywa w terminologi kontrolerow. Zatem powyzsza czesc to moj front controller, tylko ze wszedzie jest pisany obiektowo a ja mam strukturlanie i nie wydaje mi sie on byc poprawny... nie lezy mi on.