创建php mvc应用程序的最佳实践是什么?我是asp.net开发人员,其中控制器与视图.But链接,我在php mvc教程中看到,视图有控制器和模型类型的两个数据成员。View用于调用控制器类型为object和model的合适的控制器。视图包含有关控制器和模型的信息,其中控制器只知道模型。
class model{
//code..
}
class controller{
priavate $model;//model type object
//code..
}
class view{
private $model;//model type of object
private $controller//controller type of object
//code..
}但在asp.net中,mvc控制器决定当特定事件发生时调用哪个视图。有关模型和视图的控制器信息。视图可以具有object only.which的模型类型,如下所示
class model{
//code..
}
class controller{
private $model;//model type object
private view;/view type object
//code..
}
class view{
private $model;//model type of object
//code..
}在php中,哪种方法是在控制器中创建对象的视图类型,还是在视图中创建对象的控制器类型。
非常感谢!
发布于 2015-09-07 17:56:14
Php没有“开箱即用”的MVC结构。有几种方法可以实现MVC结构,您可以构建自己的结构。
一些有用的文章:https://r.je/mvc-in-php.html
http://www.sitepoint.com/the-mvc-pattern-and-php-1/
我个人创建了一个Tempalte类,其中的方法允许向所选视图添加数据。
下面是一个示例:
<?php
/**
* Description of Template
*
* @author yuri.blanc
*/
class Template {
private $template = TEMPLATE;
private $message = array();
/**
*
* @var array
*/
private $var = array();
private $view;
/**
*
* @param array $args
*/
public function renderArgs($name, $value){
$this->var[$name] = $value;
}
public function render($controller, $view) {
$ctrl = strtolower($controller);
$this->page_content = $this->view = APP_ROOT."/view/$ctrl/$view.php";
$this->renderArgs("template", $this->template);
$this->renderArgs("page_content", $this->page_content);
extract($this->var);
include APP_ROOT."template/$this->template/index.php";
}
}这样,您的目标视图将拥有以$value为数据的$name变量。要创建视图,只需在控制器上执行所需操作,然后在添加"args“之后在模板实例上使用render($controller,$view)。(文件为view/CONTROLLER/VIEW.php)。
在本例中,php模板文件充当静态容器,视图文件包含在其中(main- container )。
https://stackoverflow.com/questions/32435649
复制相似问题