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 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
一个用mysql_odbc和php写的serach数据库程序
Oct 09 PHP
PHP的面试题集
Nov 19 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
解析如何用php screw加密php源代码
Jun 20 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
php输入流php://input使用浅析
Sep 02 PHP
yii2中使用Active Record模式的方法
Jan 09 PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 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中的UNICODE 编码与解码
2013/06/29 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
浅谈php自定义错误日志
2015/02/13 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Python中的模块和包概念介绍
2015/04/13 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
python爬虫 正则表达式解析
2019/09/28 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
海淘母婴商城:国际妈咪
2016/07/23 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
我的网上商城创业计划书
2013/12/26 职场文书
学生自我鉴定模板
2013/12/30 职场文书
《悯农》教学反思
2014/04/28 职场文书
比赛口号大全
2014/06/10 职场文书
二审代理词范文
2015/05/25 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
mysql sock 文件解析及作用讲解
2022/07/15 MySQL