当前位置: 首页 > 图文教程 > 网络编程 > PHP > smarty+adodb+部分自定义类的php开发模式

PHP
用PHP实现Ftp用户的在线管理
用PHP实现分段下载
最令PHP初学者头痛的十四个问题
用PHP写的MD5加密函数
PHP应用程序加速探索之简介
将SSH与PHP相连接 确保传输数据的安全
PHP制作的仿百度的站内搜索引擎代码
PHP读取汉字点阵数据
PHP实现任意字符集下正常显示网页的方法
利用PHP的OOP特性实现数据保护
关于PHP字符集的问题
新手入门:IIS6环境下的PHP最佳配置方法
新手入门:初学动态网页PHP的18个例子
基于PHP的AJAX技术实现文件异步上传
PHP技巧--通过COM使用ADODB
PHP技巧:正确理解PHP程序编译时的错误信息
PHP技巧:分析利用PHP制作新闻系统的步骤
PHP技巧:通过实例深入剖析require和include的用法
PHP技巧:优化动态网页技术PHP程序的12条技巧
PHP技巧:使用APC缓存优化PHP程序

PHP 中的 smarty+adodb+部分自定义类的php开发模式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 128 ::
收藏到网摘: n/a

前几天把热网的后台基本弄好,腾出时间对工作总结了一下。
在设计模式上,我尝试着使用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单独就可以了,这需要对软件认真分析。下班了,回家楼。