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交互使用详解
Oct 09 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
php实现编辑和保存文件的方法
Jul 20 PHP
解读PHP的Yii框架中请求与响应的处理流程
Mar 17 PHP
Yii2 输出xml格式数据的方法
May 03 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
php ajax数据传输和响应方法
Aug 21 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 PHP
深入分析PHP设计模式
Jun 15 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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
JavaScript 模拟用户单击事件
2009/12/31 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
Python面向对象之继承代码详解
2018/01/29 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
2014年材料员工作总结
2014/11/19 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
会计岗位工作总结
2015/08/12 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python
JavaScript如何优化逻辑判断代码详解
2021/06/08 Javascript
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js
spring boot实现文件上传
2022/08/14 Java/Android