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中检查PHP文件是否有语法错误的方法
Dec 23 PHP
php自动加载的两种实现方法
Jun 21 PHP
解析php中curl_multi的应用
Jul 17 PHP
php权重计算方法代码分享
Jan 09 PHP
php实现的CSS更新类实例
Sep 22 PHP
Laravel实现用户注册和登录
Jan 23 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 PHP
CodeIgniter配置之config.php用法实例分析
Jan 19 PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 PHP
PHP防止图片盗用(盗链)的方法小结
Nov 11 PHP
Yii2 中实现单点登录的方法
Mar 09 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人民币金额转大写实例代码
2015/10/02 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
2019/09/30 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
JS中定位 position 的使用实例代码
2017/08/06 Javascript
vue多次循环操作示例
2019/02/08 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
wxPython之解决闪烁的问题
2018/01/15 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
使用python将多个excel文件合并到同一个文件的方法
2019/07/09 Python
Django stark组件使用及原理详解
2019/08/22 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
解决python打开https出现certificate verify failed的问题
2020/09/03 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
艺术用品:Arteza
2018/11/25 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
销售演讲稿范文
2014/01/08 职场文书
学生党支部先进事迹
2014/02/04 职场文书
大学生党员自我批评
2014/02/14 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
Java中try catch处理异常示例
2021/12/06 Java/Android
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript