我正在尝试向面向对象的 php 跳跃。我正在从头开始构建自己的 MVC 框架,因为我喜欢完全控制,而且我认为这是一个很好的学习练习。
这是我用来根据名称路由到不同文件夹的路由器(我在索引文件中有一个自动加载器功能):
class controller_router
{
public $controller;
public $action;
public $id;
public $freetext;
//set the url path variables
public function __construct($controller,$action,$id,$freetext)
{
$this->controller = $controller;
$this->action = $action;
$this->id = $id;
$this->freetext = $freetext;
}
//instantiate the main controller according to url
public function instantiateMainController()
{
$controller_name = 'controller_'.$this->controller;
$controller = new $controller_name;
}
}
我的博客控制器看起来像这样(只是测试我是否可以执行操作):
class controller_blog
{
public function __construct()
{
echo $this->action;
}
}
我的问题是 - 如何从父级(路由器)获取操作变量?
该命令echo $this->action;
似乎不起作用!
另外,您还可以提出其他改进建议吗?我是新手!