我正在尝试使用前端控制器设计深入研究 MVC。
我想通过使用一行来调用我的整个应用程序,例如在 index.php 中:
require_once(myclass.php);
$output = new myClass();
我很想摆脱 require_once 行,但我不明白如何在不包含它的情况下加载我的课程?
无论如何,我的主要问题是如何使用一个前端类加载我的各种控制器、模型和视图等。到目前为止,我想出了:
class myClass
{
private $name;
public $root = $_SERVER['DOCUMENT_ROOT'];
private $route = array("Controller" => "", "Model" => "", "View" => "", "Paremeters" => "");
function __construct()
{ $uri = explode("/",$_SERVER['REQUEST_URI']);
if(isset($uri[2])) {$this->route['Controller'] = $uri[2];}
if(isset($uri[3])) {$this->route['Model'] = $uri[3];}
if(isset($uri[4])) {$this->route['View'] = $uri[4];}
if(isset($this->route['Controller']))
{
include($this->root."/".$this->route['Controller'].".php");
}
}
}
但这似乎有点令人费解并且过于夸张。另外,一旦我在 __construct 中包含了新类,我应该如何加载它?
我很抱歉缺乏知识,我已经用谷歌搜索了很多次,并且我不断提出相同的页面,这些页面似乎并没有扩展我对此事的了解。