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开发文件系统实例讲解
Oct 09 PHP
PHP strtotime函数详解
Dec 18 PHP
简单的PHP留言本实例代码
May 09 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
May 08 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
PHP模板引擎Smarty中的保留变量用法分析
Apr 11 PHP
php获取当前url地址的方法小结
Jan 10 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
PHP如何解决微信文章图片防盗链
Dec 09 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 MSSQL 存储过程的方法
2008/12/24 PHP
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
Javascript学习指南
2014/12/01 Javascript
JSON取值前判断
2014/12/23 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
vue列表单项展开收缩功能之this.$refs的详解
2019/05/05 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
python如何停止递归
2020/09/09 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
政府个人对照检查材料思想汇报
2014/10/08 职场文书
2014年网管工作总结
2014/12/11 职场文书
全陪导游词开场白
2015/05/29 职场文书
工作收入证明模板
2015/06/12 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
python 中的@运算符使用
2021/05/26 Python