diff --git a/classes/Autoloader.class.inc.php b/classes/Autoloader.class.inc.php new file mode 100644 index 0000000..dd9ffbb --- /dev/null +++ b/classes/Autoloader.class.inc.php @@ -0,0 +1,79 @@ +getVar( 'controller' ) ); + $controller_name = ucfirst( $controller_name ); + $controller_name .= 'Controller'; + + if ( $controller_name === 'Controller') + { + $controller = new DefaultController(); + + return $controller; + } + + # if controller doesn't exist + if ( !file_exists( __DIR__ . '/../controller/' . $controller_name . '.class.inc.php' ) ) + { + return new DefaultController(); + } + + # Call controller and returns it + $controller = new $controller_name(); + + return $controller; + + } # function getController(...) + + /** + * Returns the right action + * @param $a_controller + * @param Request $a_request Request + * @return string + */ + public static function getAction( $a_controller, Request $a_request ) + { + # Prepare name of the action + $action_name = mb_strtolower( $a_request->getVar('action') ); + $action_name = str_ireplace( 'action', '', $action_name ); + $action_name .= 'Action'; + + # Action not found + if ( !method_exists( $a_controller, $action_name ) ) + { + return 'indexAction'; + } + return $action_name; + + } # function getAction(...) + +} # class diff --git a/classes/Request.class.inc.php b/classes/Request.class.inc.php new file mode 100644 index 0000000..f1ddc25 --- /dev/null +++ b/classes/Request.class.inc.php @@ -0,0 +1,56 @@ +