| 
<?php
 /*
 
 AzizMVC By Aziz S. Hussain
 http://www.AzizSaleh.com
 Licensed under LGPL
 
 File name: index.php
 
 Function List:
 --------------
 public function checkIndex(params as array): params as array
 public function loadMVC(): void
 
 */
 
 session_start();
 
 // Get BASEPATH from script filename
 $fileName = basename($_SERVER['SCRIPT_FILENAME']);
 
 // Get base bath
 define('BASEPATH',str_replace($fileName,'',$_SERVER['SCRIPT_FILENAME']));
 
 // Include main controller configuration
 include(BASEPATH.'AzizMVC/configs.php');
 
 // Main controller
 define('MAIN_CONTROL',$MVC_Configs['mainController']);
 
 
 // Loader
 include(BASEPATH.'AzizMVC/load.php');
 // Database model
 include(BASEPATH.'AzizMVC/databaseModel.php');
 // Main controller
 include(BASEPATH.'AzizMVC/mainController.php');
 
 
 // Start MVC with specific controller
 loadMVC();
 
 /*
 This function will loads us the URL paramaters
 
 public function checkIndex(params as array): params as array
 */
 function checkIndex($params)
 {
 if(!isset($params) || strtolower($params[0]) == 'index.php' || count($params) <= 0){ return $params;}
 
 array_shift($params);
 
 if(strtolower($params[0]) == 'index.php')
 {
 return $params;
 } else {
 if(count($params) > 0)
 {
 $params = checkIndex($params);
 }
 }
 return $params;
 }
 
 /*
 This is the main function loader:
 
 public function loadMVC(): void
 */
 function loadMVC()
 {
 // See if we are specifying the controller via URL
 if(isset($_SERVER['REQUEST_URI'])){
 $params = explode('/',$_SERVER['REQUEST_URI']);
 $params = checkIndex($params);
 }
 // If not, use the welcome controller
 if(isset($params[1])){
 /*
 Controller names must always be lowercase
 Some hosts are case sensitive to filename casing
 */
 $controller = strtolower($params[1]);
 } else {
 $controller = MAIN_CONTROL;
 }
 
 
 // Include the controller
 if(!is_file(BASEPATH.'Controller/'.$controller.'.php'))
 {
 $controller = MAIN_CONTROL;
 }
 
 require_once(BASEPATH.'Controller/'.$controller.'.php');
 
 // Check if class exists within controller
 if(class_exists($controller))
 {
 $MVC_CONTROL = new $controller();
 // Are we calling any functions
 if(isset($params[2]) && method_exists($MVC_CONTROL,$params[2]))
 {
 call_user_func(array($MVC_CONTROL,$params[2]));
 } else {
 if(method_exists($MVC_CONTROL,'index'))
 {
 call_user_func(array($MVC_CONTROL,'index'));
 }
 }
 } else {
 die("Controller: $controller does not exist");
 }
 }
 
 // End of file /index.php
 |