フロントコントローラーデザインでMVCを掘り下げようとしています。
index.php のように、1 行を使用してアプリケーション全体を呼び出したいと考えています。
require_once(myclass.php);
$output = new myClass();
require_once 行を削除したいのですが、これを含めずにクラスをロードする方法がわかりません。
とにかく、私の主な質問は、1つのフロントエンドクラスを使用して、さまざまなコントローラー、モデル、ビューなどをロードする方法です。これまでのところ、私は思いついた:
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 に含めたら、どのようにロードすればよいですか?
知識不足で申し訳ありませんが、これを何度もグーグルで検索しましたが、この問題に関する知識が広がらないように見える同じページが引き続き表示されます.