Mik*_*ore 2 php model-view-controller
给定一个Controller类和一个View类,控制器是否更好地直接为视图属性赋值,或者更好的是为控制器中的属性赋值,然后在准备好显示它时将这些属性复制到视图中?
示例模型类
class Model
{
public $propertyA;
public $propertyB;
}
Run Code Online (Sandbox Code Playgroud)
示例控制器类:
class Controller
{
protected $view;
protected $model;
public function __construct()
{
$this->model = new Model();
$this->view = new View();
$this->prepareData();
$this->initView();
}
protected function prepareData()
{
$this->model->propertyA = 'This is property A.';
$this->model->propertyB = 'This is property B.';
}
protected function initView()
{
$this->view->model = $this->model;
$this->view->display();
}
}
Run Code Online (Sandbox Code Playgroud)
示例View类:
class View
{
public $model;
public function display()
{
echo "propertyA = $this->model->propertyA";
echo "propertyB = $this->model->propertyB";
}
}
Run Code Online (Sandbox Code Playgroud)
对不起,我累了.我确实使用了模型,所以请记住这一点,重新考虑你的答案.
数据应该只在一个地方.如果不是当事情变得复杂时,很难同步你拥有数据的不同地方.在MVC中,您有一个模型,这就是数据所在的位置.将模型传递到视图中并使视图显示.
这是一个简单的解释:http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller 或这里的那些不喜欢维基百科的人:http://ootips.org/mvc -pattern.html
模型可以像具有属性的类一样简单.