smarty+adodb+部分自定义类的php开发模式


Posted in PHP onDecember 31, 2006

前几天把热网的后台基本弄好,腾出时间对工作总结了一下。
  在设计模式上,我尝试着使用mvc模式的开发。用smarty控制显示,用case语句控制各种action,然后写好各种模块的class给action调用。这样做的确对代码的控制强了一点,比如在class.message.php中写上getAllMsg()函数,那么这个函数就可以被许多action调用。再配上分页类。在对数据的处理上还算灵活。 
 

$db=new Db;  
 $sql="select * from com_info,hr_info where hr_info.ci_id=com_info.id and {$cate} like '%{$content}%'";  
 $totalArr=$db->execute($sql);  
 $url="hr.php?op=searchHrInfoAction&cate={$cate}&content=".urlencode($content);  
 $totalItems=count($totalArr);  
 $currentPageNumber=(isset($_GET['page']))?$_GET['page']:1;  
 $pageNav=new PageNumber($currentPageNumber,$totalItems,3,3,$url);  
 $currentPageRs=$pageNav->getRsPerPage(&$totalArr);  
 $pageNavigation=$pageNav->getPageNumber();  
 $smarty->assign("pageNavigation",$pageNavigation);  
 $smarty->assign("hr",$currentPageRs);  
 $smarty->display("hr_get.htm");  
而且这种方式对协同开发很有帮助,代码重复率也不是很高。
但是如上代码所示,在构造各种模块的class之外,因为各种个性化查询的存在,不可避免会在control中直接使用db类(当然,这些处理也可以放在写成类放在class中,但有点显得 臃肿和做作)。
    但是光就方便而言,如果一段代码或者一个功能不被其他地方调用,完全可以把mc放在一起,保v单独就可以了,这需要对软件认真分析。下班了,回家楼。
PHP 相关文章推荐
PHP产生随机字符串函数
Dec 06 PHP
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
PHP简单获取随机数的常用方法小结
Jun 07 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
PHP封装的完整分页类示例
Aug 21 PHP
PDO::prepare讲解
Jan 29 PHP
adodb与adodb_lite之比较
Dec 31 #PHP
PHP获得用户使用的代理服务器ip即真实ip
Dec 31 #PHP
使用adodb lite解决问题
Dec 31 #PHP
PHP通过COM使用ADODB的简单例子
Dec 31 #PHP
Adodb的十个实例(清晰版)
Dec 31 #PHP
ADODB的数据库封包程序库
Dec 31 #PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 #PHP
You might like
PHP 的几个配置文件函数
2006/12/21 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
javascript中onclick(this)用法介绍
2013/04/19 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
详解node-ccap模块生成captcha验证码
2017/07/01 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
python赋值操作方法分享
2013/03/23 Python
Python多线程爬虫简单示例
2016/03/04 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
python多线程抽象编程模型详解
2019/03/20 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
VScode连接远程服务器上的jupyter notebook的实现
2020/04/23 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
SHEIN台湾:购买最新流行女装服饰
2019/05/18 全球购物
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
战友聚会邀请函
2014/01/18 职场文书
个人对照检查材料
2014/02/12 职场文书
小学生寒假家长评语
2014/04/16 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers
详解Python中的for循环
2022/04/30 Python