当前位置:首页 > 日记 > 正文

PHP程序设计中的MVC编程思想分析

PHP程序设计中的MVC编程思想分析
PHP的MVC编程思想在各种大型项目的开发中得到了广泛的应用。许多成熟的MVC框架已逐渐被广泛应用于各种项目,如thinkphp,CodeIgniter,symfony,Yii,CakePHP等等。本文对PHP的MVC程序设计思想概述。

一、什么是MVC

简单地说,源代码是分类的和分层的。

MVC三个字母的含义:

m:模型模型,负责数据库操作。

视图视图负责调用模型来检索数据,然后调用模板来显示最终的效果。

C控制器控制器是程序的入口,决定要调用哪个视图,并告诉视图要做什么。

在这种情况下,该程序是在c-v-m或C-M的顺序执行,和MVC的名字是相反的。

两。为什么MVC

1。可以使网站程序的物理结构更加合理。

当建立一个网站使用PHP,最笨的办法,你可以建立每一页为一个PHP文件。如果你的网站仅仅是index.php,menu.php.article.php三页,那么你可以不是MVC,但是当我们做一般的网站,几十上百页,在根目录下的所有网页不被接受我们可以,所以你需要一个合理的想法,你的代码,按照功能分为不同的类别,和负载智能电话的程序,这是MVC来帮你做。

2。使代码更易于维护。

让我们看看单页。最愚蠢的方法是将PHP代码和HTML代码。这显然不够好。当你维护网站,你必须区分PHP和HTML之间,对程序员来说是一种灾难。所以很多人使用Smarty,所以你可以将数据处理和页面显示,这是非常好的,有很多人都是这样做的,但这不是MVC,MVC将要做的是分为数据处理逻辑处理和数据库操作,即分层。

这样,当你的程序出错或者你想修改时,它就会变得非常放松。当页面显示错误的时间时,您将检查v或模板文件。当出现逻辑问题时,您将检查C和V;当您操作数据库错误时,检查M。

事实上,MVC一般将PHP的一页分成4页,分别是C、V、M和模板,便于管理。

三.有利于代码重用。

MVC通常会把一个大函数放在一个目录中,这个目录由C管理。

例如,做一个网站的会员系统,我们可以把相关代码的成员在用户目录,由user_controller统一管理,当我们还需要另一个网站的会员系统,我们可以把这个目录在过去,你可以修改界面。

用三和php实现MVC的思想

我们需要三个基本类:控制器、视图和模型。然后不同的C,V和M继承。它们具有相应的性质和方法。如果你不理解它们,你可以看到面向对象的书籍。

这里提供给您一个MVC基类的设计思路,仅供参考:

1的设计。控制器类

程序调用的主()方法主要由GET和POST变量决定。

一个getmodel(元模型)的方法调用相应的目录时需要调用数据库。

在主()方法中调用的显示(view)方法,加载相应的v,并删除v的主()方法;

2视图类的设计类似于控制器的设计。

一种主()方法,当C被加载到V中时调用这个方法,以便程序可以继续执行。

一个getmodel(元模型)的方法调用相应的目录时需要调用数据库。

一个显示($模板),调用相应的模板文件,并将数据传递给模板。

3类模型的设计

可以定义一些属性,如这些表的操作、这些字段的操作,等等。

一个getdb()得到一个数据库类的一个实例方法(数据库类一般都是在一个单一的模式设计)。

加载数据的一种加载()方法。

添加()方法可以自动构造SQL语句,并根据定义的属性执行插入操作。

一个编辑()方法同上,但执行修改操作。

与上面相同,但执行删除操作的del()方法。

为了让新手更容易理解我的想法的工作原理,我们现在模拟用户登录场景,看看MVC是如何工作的。

现在,假设所有的数据提交给index.php,

第一步:

让我们提交每一变告诉index.php,C的使用,例如,可以使用index.php控制器=用户

那么指数接收得到的变量,不需要直接找到 /用户/ controller.php,所有的数据都输给他,是GET和POST是全球性的,所以是不需要做什么,主要功能可以直接调用C的index.php,任务完成。

第二步:

主要功能C开始,检查变量,发现是由用户登录操作(很简单,你可以张贴变做=登录),然后打电话给getmodel,加载相应的M(如 /用户/模型/模型。PHP),并实例化调用的负载方法,例如,加载用户数据,以确定是否与用户提交的密码,如果提交的数据是正确的标题跳转到错误页面,如果正确的话,来电显示()方法,加载相应的V(如 /用户/观点/细节。PHP),并实例化,称其主要()函数,进入第三步,这个任务已经完成,第二不在主要功能操作。

第三步:

你可以选择电话getmodel()加载M、改写和检索数据,或者你可以传递参数C当你实例化V,例如,会话。当v确定数据时,显示()将加载模板,MVC将完成。

当然,由于字数和精力的限制,这里只是一个非常简短的总结。实际执行时需要考虑许多细节,但当我设计MVC时,我认为这可能是相同的方法。我也用它在实践中,感觉很好。

相关文章

微软的产品序列号(解决方案)可以被Pr

微软的产品序列号(解决方案)可以被Pr

序列号,产品,解决方案,微软的,电脑软件,ProduKey,软件来看,微软的系统和软件产品的序列号是免费的,小的,易于操作和在互联网上下载。很好用。 目前的最新版本是V1.52 ProduKey,看起来在以下微软产品的序列号: 微软视窗98 微软Windows 2000 微…

如何激活Win8系统激活Win8系统(解决

如何激活Win8系统激活Win8系统(解决

系统,激活,解决方案,电脑软件,如果没有激活的Win8系统,右下角的屏幕总是提示做出积极的水印不愉快。这是一个分享的Win8的激活方法。 首先,电脑连接到互联网,就是打开网页,肯定网络已经成功。 然后移动鼠标到右下角或屏幕右上角呼出魅力栏,然后…

是dslagent.exe病毒程序dslagent过

是dslagent.exe病毒程序dslagent过

作用,过程,程序,电脑软件,dslagent,评论:dslagent.exe是宽带调制解调器相关程序 进程文件:dslagent或dslagent.exe 进程名称:Eicon通讯助理 过程类别:安全风险的过程 英文描述: dslagent.exe安装与宽带调制解调器从Eicon网络,网络,这也是首次使…

微软将停止支持列中的IE浏览器IE8

微软将停止支持列中的IE浏览器IE8

浏览器,支持,旧版本,电脑软件,{北京时间8月8日,为了敦促Windows用户使用IE浏览器的最新版本,微软宣布计划从2016年1月12日起停止支持IE浏览器的旧版本。 微软强调,自2016年1月12日起,它只支持以下操作系统和浏览器组合: mdash;mdash;Windows Vis…

用于错误报告的CI框架自动加载会话

用于错误报告的CI框架自动加载会话

自动加载,框架,用于,解决方案,错误报告,当许多程序员在CI使用会话时,网站在自动打开加载会话时出错。具体的错误信息如下:为了使用会话类,您,类,它被称为正确的方式。 这是解决问题的办法。 提示信息:如果你想使用会话类,你必须设置一个加密密钥…

对于Word2010自定义设置

对于Word2010自定义设置

设置,自定义,电脑软件,在办公室的组件,我们使用的词最多。升级后,Word2010文本和表格处理功能更强大,外观更漂亮的界面,功能键布局更合理。如果你是一个字迷,而你恰巧是一个有个性的人,总是不想做同样的事情,请继续往下看,因为你来对地方了! 在本文…

手机QQ是第一个实现公交一卡通的移

手机QQ是第一个实现公交一卡通的移

移动支付,公交,第一个,卡通,电脑软件,近日,手机QQ是实现公交卡手机支付功能,第一,这是第一次在该行业,北京移动用户可以在支持NFC的手机的时候,他们选择购买手机QQ阅读电子书,选择公交卡把公交卡插入NFC感应区在手机买回来的电子书。业内人士分析…

phpmyadmin导入数据的最大2M方案

phpmyadmin导入数据的最大2M方案

方案,导入数据,电脑软件,phpmyadmin,phpMyAdmin是经常使用的MySQL管理工具,备份和恢复是phpMyAdmin的重要功能,恢复数据库时,经常遇到的一种情况:最大限度还原数据库时phpmyadmin上传:2048 KB,稍大的数据库无法处理,或使用其他工具,如备份和恢复帝…

Windows无法加载本地存储配置文件

Windows无法加载本地存储配置文件

无法加载,本地存储,登录,配置文件,系统,问题: 最近,当我的笔记本电脑登录时,我总有一个错误。当我输入的密码,我有这样的提示:Windows无法加载本地存储的配置文件。此问题的原因可能是缺乏安全权限或本地配置文件损坏。如果此问题仍然存在,请与…

对rsmsink.exe-rsmsink的作用是什

对rsmsink.exe-rsmsink的作用是什

作用,电脑软件,rsmsink,exe,评论:详细的介绍了rsmsink.exe - rsmsink过程 进程文件:rsmsink或rsmsink.exe 过程名称:可移动存储管理器 过程类别:安全风险的过程 英文描述: rsmsink.exe是一个可移动存储管理器关联的过程。它被用来监视和控制可…

anote.exe的过程是什么对阳极过程

anote.exe的过程是什么对阳极过程

阳极,过程,意义,电脑软件,anote,点评:anote.exe是一个虚拟的报纸贴程序 进程文件:安诺或anote.exe 进程名称:activenote 过程类别:安全风险的过程 英文描述: anote.exe是一个虚拟的便条纸的软件称为activenote。它给了你 中文参考: anote.exe是…

MySQL字符集的系统变量描述

MySQL字符集的系统变量描述

字符集,描述,系统变量,电脑软件,MySQL,1.character_set_server and collation_server 这两个变量的服务器的字符集,他们可以设置的字符集和整理服务器的时候,服务器系统启动。如果没有,系统会设置两个变量的默认值和默认值会latin1_swedish_ci…