php 抽象类的简单应用


Posted in PHP onSeptember 06, 2011

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 =<<<eof 
SELECT title, author, text, unixtime FROM post 
WHERE id = $id ORDER BY unixtime DESC; 
eof; 
} 
public function buildHTML() 
{ 
return <<<eof 
<div id="post-text"> 
<div class="post-title-div"> 
<h4> 
<a href="http://foodstory.me/post.php?id={$this->fetchResult['id']}" 
class="post-title-a" > {$this->fetchResult['title']} 
</a> 
</h4> 
</div> 
<div class="post-info-div"> 
<span class='post-info-author'>{$this->fetchResult['author']}</span> at 
<time class='post-info-time'>{$this->timeAgo}</time> 
</div> 
<div class="post-p-div"> 
{$this->fetchResult['text']} 
</div> 
</div> 
eof; 
} 
}
PHP 相关文章推荐
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
PHP编码转换函数 自动转换字符集支持数组转换
Dec 16 PHP
php 购物车完整实现代码
Jun 05 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
php中用memcached实现页面防刷新功能
Aug 19 PHP
浅谈php冒泡排序
Dec 30 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
微信自定义分享php代码分析
Nov 24 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP count()函数讲解
Feb 03 PHP
PHP中PDO基础教程 入门级
Sep 04 #PHP
PHP中PDO的错误处理
Sep 04 #PHP
php中将网址转换为超链接的函数
Sep 02 #PHP
php ajax 静态分页过程形式
Sep 02 #PHP
php中防止伪造跨站请求的小招式
Sep 02 #PHP
10个实用的PHP代码片段
Sep 02 #PHP
PHP文件操作实现代码分享
Sep 01 #PHP
You might like
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
php中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
PHP加密技术的简单实现
2016/09/04 PHP
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
javascripit实现密码强度检测代码分享
2013/12/12 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
Javascript缓存API
2016/06/14 Javascript
Angular中ng-options下拉数据默认值的设定方法
2017/06/21 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
vue小白入门教程
2018/04/02 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
Python使用folium excel绘制point
2019/01/03 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
python模块如何查看
2020/06/16 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
一篇.NET面试题
2014/09/29 面试题
电子商务专业实习生自我鉴定
2013/09/24 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
2015高考寄语集锦
2015/02/27 职场文书
家长高考寄语
2015/02/27 职场文书
交通安全主题班会
2015/08/12 职场文书
2016小学新学期寄语
2015/12/04 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android