PHP抽象クラスの簡単な応用_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:24:36
オリジナル
855 人が閲覧しました

親クラス pos​​tParent は抽象として定義されており、サブクラスが 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 $timeAgo; // 例: 2 日前
abstract protected function buildHTML()
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;
}
public function buildHTML()
{
return <<

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート