基本的MVC(PHP)结构

我有一个简单登录表单的以下数据流.

用户访问控制器PHP文件.控制器包括model.PHP和view.PHP

用户提交表单,控制器将POST数据发送到模型方法,并返回结果.

用户登录,并由控制器转发到不同的视图(登录成功消息).

目前我的观点是静态HTML(没有PHP),所以这是我的问题.然后向用户传递欢迎信息的正确方法是什么,例如“你好,克雷格!”?

视图是否允许PHP片段,例如

<?PHP echo $username; ?> 

既然模型在控制器文件中加载之前呢?

谢谢!

编辑:是否更好的做法是允许视图访问特定的类方法,例如

<?PHP $user->getUsername(); ?>

而不仅仅是变量?

基于其他答案,我发现了一篇非常有用的文章,您可能也会感兴趣.

http://www.nathandavison.com/posts/view/7/custom-php-mvc-tutorial-part-5-views

解决方法:

你可以在你想要的视图中放置任何东西,但是为了更好地遵循MVC的做法,你应该在视图中将PHP限制为简单的回声或打印(也可能是非常小的循环,尽管即使是那些也可以在控制器/模型中预先计算出来的.由于这是获取动态内容的唯一方法,因此说它们不被允许会有点愚蠢.

视图的想法是让它具有更多的HTML外观,以便前端开发人员或不了解PHP的人可以轻松地使用该文件而不会感到困惑.

更新

要了解有关MVC的更多信息,您可以看到其中的任何一个(那里有大量的教程):

http://blog.iandavis.com/2008/12/09/what-are-the-benefits-of-mvc/

http://php-html.net/tutorials/model-view-controller-in-php/

http://www.tonymarston.net/php-mysql/model-view-controller.html

要查看使用MVC的PHP的具体示例,我建议下载一些更优秀的框架(例如CodeIgniter,SymfonyDrupal)并查看代码.尝试弄清楚它是如何工作的,然后为简单的基于文章的系统重新创建功能.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...