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下mysql数据库操作类(改自discuz)
Jul 03 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
解析dedeCMS验证码的实现代码
Jun 07 PHP
php错误级别的设置方法
Jun 17 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
PHP常见错误提示含义解释(实用!值得收藏)
Apr 25 PHP
php遍历替换目录下文件指定内容的方法
Nov 10 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
Jun 19 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
关于PHP中interface的用处详解
Jul 26 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 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
PHP 图片处理
2020/09/16 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
jquery封装的对话框简单实现
2013/07/21 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
js 获取、清空input type="file"的值示例代码
2014/02/19 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
django中使用vue.js的要点总结
2019/07/07 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
python实现ftp客户端示例分享
2014/02/17 Python
python下载文件时显示下载进度的方法
2015/04/02 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
秸秆管理实施方案
2014/03/15 职场文书
投标承诺函范文
2015/01/21 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python