找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1897|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 09:26:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            前几天把热网的后台基本弄好,腾出时间对工作总结了一下。
  在设计模式上,我尝试着使用mvc模式的开发。用smarty控制显示,用case语句控制各种action,然后写好各种模块的class给action调用。这样做的确对代码的控制强了一点,比如在class.message.php中写上getAllMsg()函数,那么这个函数就可以被许多action调用。再配上分页类。在对数据的处理上还算灵活。
[U]复制代码[/U] 代码如下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生成静态页面类(非smarty)
  • 在smarty模板中使用PHP函数的方法
  • php中Smarty模板初体验
  • 在smarty中调用php内置函数的方法
  • ThinkPHP使用smarty模板引擎的方法
  • php mysql 封装类实例代码
  • php封装的mysqli类完整实例
  • php基于单例模式封装mysql类完整实例
  • php封装的单文件(图片)上传类完整实例
  • php封装的page分页类完整实例
  • php封装的smarty类完整实例
  • php封装的smartyBC类完整实例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端