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和XSL stylesheets转换XML文档
Oct 09 PHP
php 无限分类的树类代码
Dec 03 PHP
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
PHP实现的下载远程图片自定义函数分享
Jan 28 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
Oct 15 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 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
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
js倒计时小程序
2013/11/05 Javascript
jquery ztree实现下拉树形框使用到了json数据
2014/05/14 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
python设置检查点简单实现代码
2014/07/01 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
Python数据分析库pandas基本操作方法
2018/04/08 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
python自动发送邮件脚本
2018/06/20 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
突袭HTML5之Javascript API扩展3—本地存储全新体验
2013/01/31 HTML / CSS
C++面试题:关于链表和指针
2013/06/05 面试题
宣传策划类求职信范文
2014/01/31 职场文书
年终晚会活动方案
2014/08/21 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
市场部岗位职责范本
2015/04/15 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
银行服务理念口号
2015/12/25 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
初中物理教学反思
2016/02/19 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
Python数据分析之pandas读取数据
2021/06/02 Python
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript