如何解决如何以PHP MVC模式将View连接到Controller?
| 我正在使用没有任何框架的PHP MVC模式,现在我有一个视图文件,其中有一些数据要插入其中,然后将其保存到数据库中。现在我的问题是如何将视图文件连接到控制器或模型。解决方法
视图不应将任何内容保存到数据库,这是模型的工作。该视图仅用于渲染。通常,您将在控制器中实例化一个视图对象,将要渲染的数据传递给该对象,然后调用某些渲染方法。也许是这样的:
$view = new View();
$view->setTemplate(\'/path/to/file\');
$view->setValues(array(
\'key1\' => \'value1\',\'key2\' => \'value2\',));
$view->render();
如果要将数据保存在数据库中,则与视图无关。您可能会有这样的事情:
$model = new Model();
$model->setValues(array(
\'key1\' => \'value1\',));
$model->save();
$view = new View();
$view->setTemplate(\'path/to/file\');
$view->setValues($model->getValues());
$view->render();
,控制器可以包括视图和模型文件。
当控制器由url调用时,使用模型方法获取或放置内容(在db中),另一个使用模型方法将数据发送到视图,并为浏览器输出视图。
,控制器从视图中获取数据,并将其传递到模型中。该模型处理持久性。同样在HTTP世界中,我会说控制器从请求中获取数据,而不是直接从视图中获取数据,但这只是实现细节。
您只想确保模型不以任何方式依赖于视图。这是MVC中的主要规则之一。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。