ホームページ >php教程 >php手册 >PHP抽象クラスの簡単なアプリケーション

PHP抽象クラスの簡単なアプリケーション

WBOY
WBOYオリジナル
2016-06-13 12:05:29970ブラウズ

親クラス pos​​tParent は抽象として定義されており、サブクラスが buildHTML() メソッドを再実装する必要があると規定されています。このメソッドには中括弧がありません。コンテンツがあるかどうかに関係なく、エラーが報告されます。
今見れば見るほど、このコードでは抽象クラスを使う必要はなく、継承も無駄であると感じます。まあ、良いことは何もありません。 。 。 。 。
さらに、mysql を外部に分離したので、メソッドの呼び出しが非常に面倒です
1、最初に readArticle をインスタンス化します
2、mysql クエリ、パラメータは readArticle::getSQL() から取得します
3、 return mysql 結果のリソースは readArticle::fetchResult( $result );
4、readArticle::buildHTML(); HTML を返します
リスト ループ出力の場合は、3 と 4 を繰り返し呼び出すだけです

コードをコピーします コードは次のとおりです。


abstract class postParent
{
protected $querySQL
public $fetchResult; // 例: 2 日前
abstract protected function buildHTML()
{
return $this->querySQL ;
}
パブリック関数 fetchResult( $result )
{
$this->fetchResult = mysql_fetch_assoc( $result )
}
パブリック関数 error()
{}
}
class readArticle extends postParent
{
public function __construct( $id )
{
$this->querySQL =<<SELECT タイトル、著者、テキスト、unixtime FROM 投稿
WHERE id = $id ORDER BY unixtime DESC;
eof>}
public function buildHTML()
{
return < ;<


a href="http://foodstory.me/post.php?id={$this->fetchResult['id']}"
class="post-title-a" > >fetchResult['title ']}



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

}
}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。