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 图像函数大举例(非原创)
Jun 20 PHP
php利用cookie实现访问次数统计代码
May 19 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
PHP手机号码归属地查询代码(API接口/mysql)
Sep 04 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
php利用递归实现删除文件目录的方法
Sep 23 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 PHP
php动态读取数据清除最右边距的方法
Apr 12 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
laravel 解决Validator使用中出现的问题
Oct 25 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 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
第十节--抽象方法和抽象类
2006/11/16 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
javascript实现在指定元素中垂直水平居中
2015/09/13 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
django 外键model的互相读取方法
2018/12/15 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
servlet面试题
2012/08/20 面试题
就业推荐表自我鉴定
2013/10/29 职场文书
文明班集体申报材料
2014/05/23 职场文书
绘画专业自荐信
2014/07/04 职场文书
出差报告范文
2014/11/06 职场文书
师德师风事迹材料
2014/12/20 职场文书
个性发展自我评价2015
2015/03/09 职场文书
任命通知范文
2015/04/21 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android