论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>编程开发>>php专区>>正文

理解PHP中的MVC编程之MVC框架简介

www.xker.com 作者:佚名 来源:PHP5研究室 加入日期:2006-1-23 7:21:57

【问题提问、论坛交流】  【什么是MVC?】

  MVC是一个可以让你把“三个部分(即MVC的全称,Model、View、Controller)”谐调地组成一个复杂应用程序的概念一辆汽车就是一个在现实生活中非常好的MVC例子我们看车都看两个View(显示)部分:内部和外部而这两个都离不开一个Controller(控制者):司机刹车系统、方向盘和其他操控系统代表了Model(模型):他们从司机(Controller)那里取得控制方法然后应用到内部和外观(View)

  【网络上的MVC】

  MVC框架所涵盖的概念相当简单并且极度灵活基本的概念就是,你有一个单独的控制器(如index.php)用来控制所有建立在参数请求基础上的框架内应用程序这个控制器通常包含了(最小程度上)一个定义模型的参数、一个事件和一个GET参数这样控制器就能确认所有的请求然后运行相应的事件打个比方来说,一个像这样/index.php?module=foo&event=bar的请求很有可能就是用来载入一个名叫foo的类,然后运行foo::bar()[就是其中的bar()函数]这样做的好处有:

  一个对应所有应用程序的接口

  同时维护一个应用程序内无数的代码非常麻烦,因为每一段代码都有自己的相对路径、数据库链接、验证等等而这样做就免除你在这方面的烦恼,允许你合并并重复使用代码

  【为什么要创建作者自己的MVC框架?】

  迄今为止,我没有见到过太多用PHP写的MVC框架事实上我仅仅知道一个-Solar,是完全用PHP5写的另外一个是Cake,一个试图成为PHP的RoR(Ruby on Rails-一个Ruby语言开源网络框架)我自己对这两个框架都有一些不满意的地方:它们都没有利用到PEAR,Smarty等所包含的现有代码;现在的Cake还比较紊乱;最后,Solar是一个绝大部分由一个人写的作品(我无意说其作者Paul不是一个好人或者好程序员)这些问题可能并不会让你否认它们,而且很有可能你根本不关心这些问题但是正因为如此,我请各位尽可能地审视它们

  【老方式】

  如果回到2001看自己写的代码,作者有可能找到一个叫template.txt的文件,它看起来像这样:www.phpv.net 转载请注明出处

<?php
 require_once('config.php'); // Other requires, DB info, etc.

 $APP_DB = 'mydb';
 $APP_REQUIRE_LOGIN = false; // Set to true if script requires login
 $APP_TEMPLATE_FILE = 'foo.php'; // Smarty template
 $APP_TITLE = 'My Application';

 if ($APP_REQUIRE_LOGIN == true) {
  if (!isset($_SESSION['userID'])) {
   header("Location: /path/to/login.php");
   exit();
  }
 }

 $db = DB::connect('mysql://'.$DB_USER.':'.$DB_PASS.'@localhost/'.$APP_DB);
 if (!PEAR::isError($db)) {
  $db->setFetchMode(DB_FETCHMODE_ASSOC);
 } else {
  die($db->getMessage());
 }

 // Put your logic here
 // Output the template

 include_once(APP_TEMPLATE_PATH.'/header.php');
 include_once(APP_TEMPLATE_PATH.'/'.$APP_TEMPLATE_FILE);
 include_once(APP_TEMPLATE_PATH.'/footer.php');
?>

  天哪,只是看这些代码都会让我有退缩的欲望这段代码的概念就是确保每一个应用程序都能适用于这个处理方法,比如我可以简单地将template.txt拷进myapp.php,改变一些变量,瞧,它就能运行起来了尽管如此,这个组织严密的处理方法存在一些严重的缺点:

本新闻共5页,当前在第1页  1  2  3  4  5  

编辑:xker.com

上一篇:使用PHP编写基于Web的文件管理系统
下一篇:没有了
关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章
·使用PHP编写基于Web的文件管理系统·使用 MySQL 开始 PHP 会话·.Net环境下基于Ajax的MVC方案
·ASP、JSP、PHP 三种技术比较·PHP应用程序加速探索之简介 ·PHP应用程序加速探索之简介 
·在Win2003 IIS中安装PHP·有效防御PHP木马攻击的技巧 ·最令PHP初学者头痛的十四个问题 
·初学者必读 PHP常用开发工具分析
推荐文章 最新文章 热门文章
·3DMAX打造首饰美图
·VB.net制作下雪的特技景象
·组建高速又安全的文件服务器
·菜鸟+Sa+注入工具组合=肉鸡成群
·VC++实现Windows系统回收站的文件存取
·用JavaHelp系统开发和交付更好的文档
·Linux系统下的多线程编程入门
·武林绝技之笔记本操作系统优化
·Fireworks绘制新春贺卡:娃娃放鞭炮(
·制作一条龙 教你如何将下载的电影刻成
·一分钟攻破ADSL 盗遍宽带密码
·Oracle数据库游标使用大全
·Oracle9i中监视索引的使用
·使用Oracle实现实时通信
·制作MP3播放器TXT图书之三剑客
·理解PHP中的MVC编程之MVC框架简介
·使用PHP编写基于Web的文件管理系统
·Windows发展史
·Windows 2.0
·Windows 3.0
·Windows 3.1
·Windows NT 3.1
·Windows 3.2
·Windows 95
·Windows NT 4.0
·Windows ME
·Windows 2000
·Windows XP
·Windows Server 2003
·Windows Vista
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·Norton AntiVirus 2006 注册码(激活
·WinRAR 3.51 注册码
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·系统优化 专题
·最经典的黑客入门教材
·豪杰超级解霸V9.1正版注册码
·求职简历封皮
·怎样查找对方的IP地址
·FlashFXP 3.3.1 build 1089注册码
·ACDSee v8.0注册码
·2005最新最全注册码集中营(11月更新)
评论 本站声明
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号