PHP-MVC,我的说法正确吗?
所以我有模型、视图和控制器,我的代码可以工作,但是如果我正确地使用它,我没有人来教育我 我不会复制粘贴整个代码,因此我绘制了它的工作原理: 代码部分:PHP-MVC,我的说法正确吗?,php,templates,model-view-controller,Php,Templates,Model View Controller,所以我有模型、视图和控制器,我的代码可以工作,但是如果我正确地使用它,我没有人来教育我 我不会复制粘贴整个代码,因此我绘制了它的工作原理: 代码部分: class Site { protected $config; function __construct() { $this->config = include("resources/config.php"); } private function connect() { /*database connection*/ }
class Site {
protected $config;
function __construct() {
$this->config = include("resources/config.php");
}
private function connect() { /*database connection*/ }
public function getData($var) {
/* connecting, $var = amout of rows, and storing the data in array() */
}
}
class SiteView {
private $data;
function __construct(Site $data) {
$this->model = $data;
}
public function output() {
if(!empty($this->model->data)) { /* displays the data */ }
}
public function render($template) {
return include("$template");
}
}
class SiteController {
public function __construct(Site $respond) {
$this->model = $respond;
}
public function condition() {
$view = new SiteView($this->model);
$view->render("header.php");
if(!isset($_GET['action'])) {
$view->render("body.php");
} else if($_GET['action'] === "report" AND isset($_GET['id'])) {
$view->render("report_body.php");
} else if ...
}
所以模型和视图是用在模板中的,我不确定这是好事还是坏事。感谢您提供的任何帮助或为我指路。MVC或模型、视图和控制器方法是模型用于用户使用的数据,控制器是后端逻辑,视图是HTML或用户界面(UI)中的输出
通常每个请求都首先到达控制器。控制器与模型和视图连接。控制器根据模型的请求采集数据,并将数据发送到视图进行显示。视图无法与模型连接
有关更多详细信息,请参阅此链接,我至少收到了一个反馈:。我得到了一个变量$db,并将连接分配给它,在每个调用数据的模型函数的末尾,我有“$this->db=null;”关闭连接,这样可以吗?不可以,ist不可以。因此我只需在{u构造}中创建连接然后将连接分配给变量(对我来说是“$this->db”),然后我就可以在其他函数中使用该变量了?如果我喜欢这篇文章,我不需要用Try{}和Catch{}来描述SQL调用?一切都会正常工作,我会挽救我服务器的生命?:)您应该在其他地方创建连接,然后将其传递到构造函数中,在构造函数中将其分配给局部变量。是的,如果您只是为了报告错误而这样做,则不需要使用Try{}和Catch{}覆盖SQL调用。