zoukankan      html  css  js  c++  java
  • 抽象类的简单应用

    简介:这是抽象类的简单应用的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=349768' scrolling='no'>

    我想博客中的 文章列表和单个的文章阅读 统一起来,我觉得除了sql查询语句结构不同,HTML代码不同,其它也就一样。不过话说回来,这两个都是主要功能,所以这的确有点不适合,不过昨晚读了一点设计模式,好歹得写点啥好。

    All right, 父类postParent定义为抽象,规定子类必须重新实现 buildHTML()方法,这个方法并没有花括号,如果有不管有没有内容都会报错的。

    现在越看越觉得这代码完全没必要用抽象类,用继承也都很鸡肋,好吧,也没啥好说的好像。。。。。

    另外我把mysql 分开在外面了,所以调用方法很麻烦

     1,先实例化 readArticle 

     2,mysql查询,参数来自 readArticle::getSQL();

     3,返回mysql结果资源给 readArticle::fetchResult( $result );

     4,readArticle::buildHTML(); 返回HTML

    如果是列表循环输出的话,把 3 和 4 重复调用就可以了

    abstract class postParent
    {
    protected $querySQL;
    public $fetchResult;
    public $timeAgo; // eg : 2 days ago

    abstract protected function buildHTML();

    public function getSQL()
    {
    return $this->querySQL;
    }
    public function fetchResult( $result )
    {
    $this->fetchResult = mysql_fetch_assoc( $result );
    }
    public function error()
    {}
    }

    class readArticle extends postParent
    {
    public function __construct( $id )
    {
    $this->querySQL =<<<eof
    SELECT title, author, text, unixtime FROM post
    WHERE id = $id ORDER BY unixtime DESC;
    eof;

    }

    public function buildHTML()
    {
    return <<<eof
    <div id="post-text">
    <div class="post-title-div">
    <h4>
    <a href="http://foodstory.me/post.php?id={$this->fetchResult['id']}"
    class="post-title-a" > {$this->fetchResult['title']}
    </a>
    </h4>
    </div>
    <div class="post-info-div">
    <span class='post-info-author'>{$this->fetchResult['author']}</span> at
    <time class='post-info-time'>{$this->timeAgo}</time>
    </div>
    <div class="post-p-div">
    {$this->fetchResult['text']}
    </div>
    </div>
    eof;

    }

    }

      

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/349768.html pageNo:3
  • 相关阅读:
    HDU 1010 Tempter of the Bone(DFS剪枝)
    HDU 1013 Digital Roots(九余数定理)
    HDU 2680 Choose the best route(反向建图最短路)
    HDU 1596 find the safest road(最短路)
    HDU 2072 单词数
    HDU 3790 最短路径问题 (dijkstra)
    HDU 1018 Big Number
    HDU 1042 N!
    NYOJ 117 求逆序数 (树状数组)
    20.QT文本文件读写
  • 原文地址:https://www.cnblogs.com/ooooo/p/2238738.html
Copyright © 2011-2022 走看看