require_once implode(DS, [BASEPATH, 'Controller.php']); require_once implode(DS, [BASEPATH, 'ControllerLogged.php']); require_once implode(DS, [BASEPATH, 'ControllerNoLayoutLogged.php']); require_once implode(DS, [BASEPATH, 'ControllerLoggedAdmin.php']); require_once implode(DS, [BASEPATH, 'ControllerLoggedGuru.php']); require_once implode(DS, [BASEPATH, 'ControllerLoggedSiswa.php']); require_once implode(DS, [BASEPATH, 'ControllerNoLayoutLoggedSiswa.php']); #composer if (file_exists(implode(DS, [BASEPATH, 'vendor', 'autoload.php']))) { include implode(DS, [BASEPATH, 'vendor', 'autoload.php']); } #routing $routing = new Routing(PATH_INFO); $class = $routing->get_action(); $method = $routing->get_method(); $parameters = $routing->get_parameters(); // var_dump($routing->get_action(), $routing->get_method(), $routing->get_parameters()); #run the current controller $controller_path = implode(DS, [BASEPATH, 'controller', "{$class}.php"]); #if controller not exist, use the default action & default method if (!file_exists($controller_path)) { # set routing action & method to default $routing->set_action_used_default(); $routing->set_method_used_default(); $class = Routing::DEFAULT_ACTION; $controller_path = implode(DS, [BASEPATH, 'controller', "{$class}.php"]); $method = $routing->get_method(); #method already set to default } #load the controller file require_once $controller_path;
break; default: exit('The application environment is not set correctly.'); } } define('DS', DIRECTORY_SEPARATOR); define('BASEPATH', dirname(__FILE__)); session_start(); #load database config require_once implode(DS, [BASEPATH, 'database.php']); #load library require_once implode(DS, [BASEPATH, 'lib', 'MyPDO.php']); require_once implode(DS, [BASEPATH, 'lib', 'Routing.php']); require_once implode(DS, [BASEPATH, 'lib', 'View.php']); require_once implode(DS, [BASEPATH, 'lib', 'Layout.php']); require_once implode(DS, [BASEPATH, 'Controller.php']); #routing $routing = new Routing(isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : ''); $class = $routing->get_action(); $method = $routing->get_method(); // var_dump($routing->get_action(), $routing->get_method(), $routing->get_parameters()); #run the current controller $controller_path = implode(DS, [BASEPATH, 'controller', "{$class}.php"]); if (!file_exists($controller_path)) { $class = Routing::DEFAULT_ACTION; $method = Routing::DEFAULT_METHOD; } require_once $controller_path; call_user_func_array(array(new $class($routing), $method), $routing->get_parameters()); // $controller = new $class(); // $controller->{$method}(eval(implode(',', $routing->get_parameters())));