Добрый вечер! Подскажи правильный или более корректный способ разделения WEB приложения на административную и пользовательские части. В данной реализации по сути будет подключен еще 1 роутер, но уже для backend части. Думаю это совсем не годится, потом подскажите куда копать.
В коде намерено опустил обработку ошибок, и фреймворки не предлагать - рано еще.
<?php
/**
*
*/
class Route
{
public static function start()
{
$actionName = 'home';
$controllerName = 'home';
$routes = explode( "/", $_SERVER["REQUEST_URI"] );
if( !empty( $routes[1] ) ) :
$controllerName = $routes[1];
endif;
if( !empty( $routes[2] ) ) :
$actionName = $routes[2];
endif;
$modelName = strtolower( $controllerName ) . "Model";
$controllerName = strtolower( $controllerName ) . "Controller";
$actionName = strtolower( $actionName ) . "Action";
if( $controllerName == "adminController" ) :
require_once 'app/backend/check.php';
exit();
else :
$modelFile = "$modelName.php";
$modelPath = "app/models/$modelFile";
if( file_exists( $modelPath ) ) :
require_once $modelPath;
endif;
$controllerFile = "$controllerName.php";
$controllerPath = "app/controllers/$controllerFile";
if( file_exists( $controllerPath ) ) :
require_once $controllerPath;
endif;
$controller = new $controllerName;
if( method_exists( $controller, $actionName ) ) :
$controller->$actionName();
endif;
endif;
}
}
?>