Handling page requests in MVC
MVC is a concept that stems from good OOP practices. It's about seperating your application to three different parts: InputControllers, ProcessingModel and OutputView.

What you are describing is the bootstrap page, which, at least from my perspective should not be a class.

Here's my approach to this:

index.php

&lt;?php
require "../bootstrap.php";


bootstrap.php

&lt;?php
//Pseudo-code ahead:
require autoloader;
start router;
add router rules (either from file, or actually in the code)
$route = $router-&gt;route($uri); //$route is a Route object which tells us 
                               //what controller to use, what are the parameters, etc.
$controllerClass = $route-&gt;getControllerClass();
$controllerAction = $route-&gt;getControllerAction();
$controller = new $controllerClass($request); 
//Where $request is the Request object, containing the URI, GET, POST, COOKIES, etc.
$viewParams = call_user_func_array([$controller, $controllerAction], $route-&gt;getParameters());
//$route-&gt;getParameters() is an array of parameters from the route.
//call_user_func_array will transform that array into actual arguments to pass in.

$viewClass = $viewParams["class"];
$viewAction = $viewParams["action"];
$view = new $viewClass($request);
echo $view-&gt;render($viewParams);