欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年PHP开发之MVC架构 .pdf

    • 资源ID:27268733       资源大小:156.41KB        全文页数:5页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年PHP开发之MVC架构 .pdf

    PHP 开发之 MVC 架构MVC 是 Model(模型) -View (视图) -Controlller(控制器)的简称。MVC 是一种软件开发架构,在近几年的Web应用开发中非常流行。简单的说,这三件事情还是很简单。 Model 是负责如何与数据库交互,它是后端的PHP OO类库,其它语言比如Ruby on Rails 或 C+、Java 亦同; View 基本上是前端的用户界面。Controller负责处理操作商业逻辑,在前两者之间协作。这些看似容易解释,但有时这个概念也有点抽象,比较难以把握。坦率地说,我这么多年的Web开发中,我也没有真正研究MVC的细节,虽然我的书中也有介绍。直到最近,一些读者开始向我请教这方面的问题。在本篇文章中, 我希望向大家解析一下PHP MVC 这一强大架构的开发,希望给各位PHP开发者提供一些帮助。MVC与 PHP 开发Model-View-Controller这种结构划分,实际上有很多思想参考,实际上是软件开发发展历程中开发大型项目的自然发展结果。比如 Java的 Class , JSP 和 Struts;Ruby on Rails内置了 MVC的结构 ; 虽然 PHP和这些有点不太一样,但它并不意味着我们不能做。Model 层MVC结构是用在较大的项目上应用,利用OO进行编码。 Model 层在一个PHP 应用程序中,通常是一个类 (或多个) 。通常情况下, 这个类是处理或保存数据表,如操作数据库中的会员表记录,查询会员记录等方法。比如,我们有一个User 类,有一些变量,比如username,password ,email ,以及其他的方法,如新的用户的创建,登录,验证,注销等方法。稍候,我们将看如何将User 这个对象用在应用程序Controller的一部分。Model 在本质上,告诉你有什么方法可供选择-即在数据库中如何操作数据。我想我必须澄清(如果不是已经明确的) - 这应该是PHP的全部代码,也正是我们要用OO开发原因之一。即使没有明确使用MVC ,这部分代码不应有HTML或任何的输出(重定向等)处理,如果已经有这种操作或必须需要输出,则要通过一个参数处理或返回值。(这是编程的最基本素质,但目前的情况是,多数Web程序员没有什么学位或没学过计算机, )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 下面是 Model 模型的代码, 在一个真正的Web应用上, 这仅仅是最简单的代码,它没有完成所有的细节。class User public $username; public $password; public $email; function _constructor ($u, $p, $e) $this-username = $u; $this-password = $p; $this-email = $e; function create() / 在用户表中插入记录 function login() / 检查用户表,是否已经登录 static function authenticate($u, $p) / 验证用户表$query = “SELECT * FROM users WHEREuser_name=$u AND password = $p”; $result = mysql_query($query); $row = mysql_fetch_array($result);if(count($row)=0) return false; else return true; function logout() / 用户退出登录 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - View 层View 层最简单的说,就是用户界面。不过,这并不意味着它只是HTML 。我们还是须在应用程序界面加入一些PHP逻辑处理。比如,如果在登录的网站上显示,“您好,UserName ”,这里一定会需要一些PHP代码来处理,对不对?这就是关于View 的说明。当然,所有的CSS 、JavaScript也都是 Viewn 层的一部分。这是非常重要的,无论PHP代码在这里,只是需要采取哪些用来显示界面正确。没有额外的“行动”代码属于看法- 这是控制器的工作,我们将看到未来。这是非常重要的,无论如何都要用PHP代码来处理显示正确的界面。强调一点的是,View 层没有任何“ action ”的代码,这部分是Controller的工作 , 稍候我们介绍。各位,是不是很容易理解呢,为了更透彻的理解,让我们来看一个例子。以下代码没有使用XHTML 1.0 规范,仅做参考。require_once( User.php ); / 验证用户是否已经登录if (User:authenticate($_COOKIEusername, $_COOKIEpassword) header( ”Location:/my.php”); exit(); ? 登录if ($_GETerror = 1) echo 用户名或密码错误,请重新登录. ; ? 用户名 : 密码 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - View 层目前可以使用Smarty 等模板类来处理。Controller层如果你没有实际的开发工作经验或读过相关书籍或文章,有时候很容易混淆Controller的定义。和 View 层一样, Controller一样重要,我们一起来看一个例子。现在我们有一个登录页面,即一个HTML表单指向某个URL (除非使用AJAX ),我们不应该直接指向 Model 文件(如User.php ),因为该文件仅仅是一个类代码,因此它不会做任何事情。也不应该提交给View 层文件(叫login.php),因为它仅做显示的界面。这就是控制器-Controller的作用,你的表单应该提交到一个叫login_action.php的文件。在此文件中,您可以创建一个User 类的实例,初始化后,使用合适的方法来处理登录。大多数开发者都从Controller里输出, 因为写起来很方便。如果有一个登录表单,它只是打印“登录不正确”这样的字眼,看起来的确很简单。不过要真正利用的MVC架构优势, Controller控制器(类似于Model )应该不会有任何HTML输出,而是使用重定向操作。我们可以使用cookies/SESSION ,数据库存储,文件缓存,或查询字符串给 View 层文件,在View 层中实现显示输出以及保存状态等动作。现在让我们看一个Controller控制器代码。require_once( User.php ); / 检查用户名密码是否正确$currentuser = new User($_POSTusername, $_POSTpassword, ”); if ($currentuser-login() / 设置 Cookie ,重定向到主页header( ”Location:/main.php”); exit(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - else / 错误,重定向到登录页header( ”Location:/login.php?error=1); exit(); ? 总结使 用 MVC结构的代码更易于理解。对于其他开发者进入开发时会更快到位,当自己在过一段时间翻回来看这段程序时也容易得多,因为我们很确定地知道,在哪里找什么样的代码。如果要改变一些信息在显示界面,你只需要看View 层程序。如果数据库结构发生变化,比如密码加密形式不同,只需要更改Model 层程序。通过以上我们看到MVC架构的优点和强大之处,它将让基于OO的 Web开发变得更有效率。有任何问题或不足之处,敬请指出名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

    注意事项

    本文(2022年PHP开发之MVC架构 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开