我正处于使用 PHP 学习模型、视图、控制器框架的早期阶段。多亏了这里的教程,我已经掌握了窍门。据我了解,控制器将调用模型,以便可以运行适当的代码,以便正确呈现可查看的内容。
问题是,基于那个特定的教程,我似乎必须为每个页面创建一个全新的文件,只是为了调用模型以呈现数据可见。
例如,在我的 controller.php 文件中,我有:
require_once("model.php");
class Controller
{
public $file;
public $league;
public function __construct($file, $league)
{
$this->file = $file;
$this->league = $league;
}
public function invoke()
{
// Everything that needs to be done in PHP will be done here so that once
// whatever file is included, it will just fit in fine and echo out perfectly
require_once($this->file.".php");
}
}
在我的 model.php 文件中,我有:
class Model
{
private $file;
private $league;
public function __construct($file, $league)
{
$this->file = $file;
$this->league = $league;
}
More code. You get the idea...
}
在我的 teams.php 文件中,我有:
$controller = new Controller("teams", "nba");
$controller->invoke();
但是,由于teams.php 必须调用模型并且最终需要require_once("teams.php"),所以我必须为视图创建一个全新的文件。因此,现在显示将出现在 teams_display.php 上。无论如何,mod rewrite 是否可以帮助促进所有页面都发生在 index.php 文件中的框架,同时给用户一种他们不是的错觉?