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实现多服务器session共享之NFS共享的方法
Mar 16 PHP
php字符串截取中文截取2,单字节截取模式
Dec 10 PHP
php flush类输出缓冲剖析
Oct 19 PHP
IIS安装Apache伪静态插件的具体操作图文
Jul 01 PHP
php生成数组的使用示例 php全组合算法
Jan 16 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
Apr 15 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
PHP实现单条sql执行多个数据的insert语句方法
Oct 11 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
Jul 24 PHP
php 文件上传至OSS及删除远程阿里云OSS文件
Jul 04 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中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
基于node.js的快速开发透明代理
2010/12/25 Javascript
Javascript调用C#代码
2011/01/17 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python获取当前路径实现代码
2017/05/08 Python
对Xpath 获取子标签下所有文本的方法详解
2019/01/02 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
利用python开发app实战的方法
2019/07/09 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
逻辑链路控制协议
2016/10/01 面试题
《九寨沟》教学反思
2014/04/08 职场文书
共青团员自我评价范文
2014/09/14 职场文书
艺术节开幕词
2015/01/28 职场文书
安全保证书怎么写
2015/02/28 职场文书
2016新年年会主持词
2015/07/06 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python
一文搞懂Java中的注解和反射
2022/06/21 Java/Android