php 抽象类 调用,php 抽象类的简单应用

博客讨论了在编程中使用抽象类的场景,指出在某些情况下抽象类的使用可能显得冗余,特别是在只有一个子类的情况下。文章以一个具体的例子说明,如何通过实例化和调用方法来获取和处理MySQL查询结果,然后构建HTML。代码示例中,`readArticle`类从`postParent`抽象类继承,并实现了`buildHTML`方法,用于生成包含文章标题、作者、时间戳和文本的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;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值