用PHP5进行三层开发

原文:http://www.onlamp.com/pub/a/php/2004/12/09/three_tier.html
Three-Tier Development with PHP 5 by Luis Yordano Cruz
此文演示了PHP三层开发的强大功能,PEAR::DB_DataObject用于业务逻辑,Smarty 用于显示逻辑,这里假设你熟悉了HTML,Smarty,PEAR::DB_DataObject,Mysql和PHP5.如果你需要补充知识,下面的文章解释了一些原理:
继续阅读“用PHP5进行三层开发”

PEAR DB_DataObject 简介

DB_DataObject将数据表封装成对象,所有对数据库的操作转化为对象的操作。
使用DataObject,完全不用跟SQL打交道。特别在需要修改数据库结构的时候,例如增加或删除表和字段、改名、更改表间关系,在设计一个稍为复杂的系统时,这些情况都会经常出现。使用DataObject,只需修改很少的几个地方,不用去修改讨厌的SQL语句。再配合其它几个类,例如FormBuilder,DataGrid,就能够用很简单的几行代码实现数据输入和输出显示等复杂功能。
很多人使用DB类,因为DB类隐藏了不同数据库的差异。但是你还是要直接使用SQL语句。DataObject在DB的基础上进一步抽象,隐藏了数据库。
继续阅读“PEAR DB_DataObject 简介”

PHP的对象和类

作者:Leon Atkinson 翻译:Haohappy
第一节–面向对象编程
第二节–PHP5 的对象模型
第三节–定义一个类
第四节–构造函数和析构函数
第五节–克隆
第六节–访问属性和方法
第七节–类的静态成员
第八节–访问方式
第九节–绑定
第十节–抽象方法和抽象类
第十一节–重载
第十二节–类的自动加载
第十三节–对象串行化
第十四节–命名空间
第十五节–Zend引擎的发展

继续阅读“PHP的对象和类”

深入理解 abstract class和 interface

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。
继续阅读“深入理解 abstract class和 interface”