第2章 用PRADO编程
现在让我们更深入的了解一下PRADO框架。这一章我们会介绍一些框架的基本概念和如何使用现有的PRADO组件来开发一个PRADO应用。
2.1 组件
根据Clemens Szyperski的说法, ``软件组件是一个具有特定接口的组合单元,可以独立存在,参与组成其它组建。''
在PRADO中, 组件是 TComponent 或者其子类的实例。PRADO框架中已经包括了 TComponent
类,它主要实现了组件的属性和事件机制。
- 属性可以被认为是描述组件某一特性的公共变量,比如背景颜色,字体大小等等。属性是有类型的,比如 string, integer , 等等。属性可以是只读的,也可以是可读写的。
- 事件使代理函数可以对组件中进行的一些活动作出响应,比如鼠标的点击,输入文本的变化等。
一个完整的组件类定义包括两个文件:
- 一个类文件,它定义了组件类的逻辑。这个文件主要是PHP代码。这个文件的文件名必须和类的名字一样,而且以.php 作为文件后缀。
- 一个规格文件,它定义了组件类的属性和方法。这个文件是XML格式。如果这个组件类没有定义父类之外的新的属性和事件,那么这个文件是可以省略不要的。缺省情况下,这个文件和组件的类文件在一个目录中,而且名字是一样的,唯一不同的是它们的文件名后缀(类文件的后缀是.php ,规格文件是 .spec )。值得注意的是,PRADO也允许你用不同的文件名来命名规格文件和模板文件,但是类文件名还是必须遵循与类同名,并且后缀为.php 的规则的。这时候你需要在类的常量SPECIFICATION_FILE中指定规格文件的包含路径的文件名,可以使用绝对或者相对路径(相对类文件所在位置)。
注意:PRADO 是区分大小写的,组件类型,属性名称,事件名称,文件名等等这些都是区分大小写的。
2.1.1 控件
控件是定义了用户界面的PRADO 组件。每一个控件都有一个父控件和一些子控件(注意,这里的父,子这些关系和面向对象中的父类子类的概念是完全不一样的。一个控件是另外一个控件的父控件只是说明了前者拥有后者,这个拥有关系可以理解为一个目录下包含了一个子目录;而绝不是后者是前者的子类、是从前者继承而来的这个概念)。页面是最高级别的控件,它没有父控件(当然你也可以认为Application是它的父控件)。一个PRADO的应用是一个页面的集合,每一个页面都代表了一个层次树状结构的控件集,控件与控件之间关系是通过父子关系联系在一起的。
这种父子关系可以通过模板文件来建立。模板文件的格式和HTML是很像的,只不过在HTML的基础上增加了一些特殊的标签来定应控件。如果一个控件的标签被另外一个控件的标签所
| 对此文章发表了评论 |
