php 抽象类应用场景,php 抽象类的简单应用

博客探讨了一个使用抽象类postParent来强制子类实现buildHTML()方法的场景,但作者认为这样的设计可能并不必要,甚至有些鸡肋。代码示例中,readArticle类继承自postParent,并实现了具体的构建HTML的方法。文章还描述了如何通过实例化readArticle,进行MySQL查询,获取结果并转换为HTML的过程,尽管这个过程显得较为繁琐。
摘要由CSDN通过智能技术生成

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 =<<

SELECT title, author, text, unixtime FROM post

WHERE id = $id ORDER BY unixtime DESC;

eof;

}

public function buildHTML()

{

return <<

class="post-title-a" > {$this->fetchResult['title']}

{$this->fetchResult['text']}

eof;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值