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

王朝php·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

前几天把热网的后台基本弄好,腾出时间对工作总结了一下。

在设计模式上,我尝试着使用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单独就可以了,这需要对软件认真分析。下班了,回家楼。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航