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
  • 相关阅读:
    04.Javascript——入门一些方法记录之iterable
    03.Javascript——入门一些方法记录之Map和Set
    02.Javascript——入门一些方法记录之Object
    unity 工具开发基础
    lua热重载
    unity接入安卓sdk (unity调用安卓工程)
    转 Unity企业级支持案例与分析
    ugui的优化
    c#各个版本的特性
    最好用的lua编辑器--------emmylua使用汇总
  • 原文地址:https://www.cnblogs.com/ooooo/p/2238738.html
Copyright © 2011-2022 走看看