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 Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
基于PHP Socket配置以及实例的详细介绍
Jun 13 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
Aug 28 PHP
php实现过滤UBB代码的类
Mar 12 PHP
Symfony2 session用法实例分析
Feb 04 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
May 18 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 PHP
PHP7 弃用功能
Mar 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
JAVA/JSP学习系列之七
2006/10/09 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
Extjs中常用表单介绍与应用
2010/06/07 Javascript
事件模型在各浏览器中存在差异
2010/10/20 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
2014/12/31 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
Python实现类的创建与使用方法示例
2017/07/25 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
python基于socket函数实现端口扫描
2020/05/28 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
园艺师求职信
2014/03/10 职场文书
旷课检讨书范文
2015/01/27 职场文书
运动会班级前导词
2015/07/20 职场文书
创业计划之特色精品店
2019/08/12 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技