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 相关文章推荐
php 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
Apr 09 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
部署PHP项目应该注意的几点事项分享
Dec 20 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
常用PHP框架功能对照表
Oct 23 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
PHPMailer发送邮件
Dec 28 PHP
PHP下载文件函数与用法示例
Sep 27 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 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
一个简单的PHP入门源程序
2006/10/09 PHP
PHP 图片处理
2020/09/16 PHP
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
vue.js从安装到搭建过程详解
2017/03/17 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
Python字符串拼接的几种方法整理
2017/08/02 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
如何在存储过程中使用Loop
2016/01/05 面试题
绿色城市实施方案
2014/03/19 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
企业宗旨标语
2014/06/10 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
护士节活动总结
2014/08/29 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
武当山导游词
2015/02/03 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS