> php教程 > php手册 > smarty+adodb+部分自定义类的php开发模式

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

WBOY
풀어 주다: 2016-06-13 12:35:01
원래의
1016명이 탐색했습니다.

前几天把热网的后台基本弄好,腾出时间对工作总结了一下。
  在设计模式上,我尝试着使用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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿