php抽象クラスの簡単な応用

1931 ワード

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;
}
}