打印本文 打印本文 关闭窗口 关闭窗口
PRADO 2.0.1 快速入门教程 -- 第二章.使用PRADO编程
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2087  更新时间:2009/4/23 10:40:09  文章录入:mintao  责任编辑:mintao
Name() { .... return $value; }

如果一个属性是不可读的,那么不要设置get 属性。 setter方法的语法如下:

function setterMethodName($value)
{
   // set some variable with $value
}

如果一个属性是不可写的,那么不要设置set 属性。如果这个属性的类型是string,那么也可以不指明。类型的属性用来自动转换配置在规格文件或者模板文件中的属性初始值。default 属性一般用来作为引用的目的,也是可选的。如果一个属性是可读的而且之前没有被设置,那么getter方法应该返回一个缺省值。

定义事件

组件事件在规格文件中定义,而其内在的实现机制在类文件中定义。在规格文件中定义事件的语法如下:

<?xml version="1.0" encoding="UTF-8"?>
 name="..." />
   ......

事件的name应该是一个合法的变量名。

在类文件中,通常会实现这么一个对应的方法(假定事件的名称叫 OnClick):

function onClick($param)
{
   $this->raiseEvent(''''OnClick'''',$this,$param);
}

当这个事件实际发生的时候,这个 onClick 方法应该确实被调用了(参考框架的TButton.php 文件)。raiseEvent 方法在TComponent 类中实现,它调用了所有对应OnClick 的事件响应函数,并把参数$param 传递给它们。

编写模板文件

在这一节里,会讲一些关于如何编写模板文件。模板是用于控件的,但也不是所有的控件都需要模板。比如TTextBox, TButton 这些控件因为没有内容,因此就不需要模板。模板文件一般用于页面或者基于组合定义的控件。 模板文件格式在资源解析处理器中详细定义,该处理器在应用配置文件中指定。默认解析处理器是TResourceParser,我们将主要介绍一下它认可的格式。模板中的注释,比如 被作为静态文本处理。 可以在组件标签之外通过属性标签来配置组件的属性。比如可以用以下的代码配置模板中TTextBox 控件的Text 属性。

...

    ...
  </prop:Text>
</com:TTextBox>
...

在一对属性标签中间的内容作为对应的组件属性的值。如果一些属性的值需要很大的数据,这样就很方便。

在模板文件中可以使用3种特殊的标签:

  • <%include ... %>- 框架会在解析模板前在这个位置包含一个外部文件。比如,你可以用它在页面模板中包含一个公共头文件<%include header.tpl %> 。外部文件的路径应该是这个模板文件的相对路径。

在最新的版本中,上文提到的“paths”是一个命名空间。因此,如果你的application.spec文件中存在以下语句 并且你的文件调用"login.tpl"文件,你可以使用: <%include Pages.login %>注意:在调用路径中不包含.tpl,显然,它是自动加上去的。


  • <%= ... %>-会直接在这个位置上输出一个PHP表达式的值,比如<%= date(''''Y-M-d'''',time()) %>。注意,表达式后面不需要输入分号。这个表达式的上下文环境是这个模板对应的组件,可以使用$this 变量来在表达式中使用组件。表达式的值在组件的绘制状态时计算。
  • <% ... %>- 代表了一系列PHP的语句。如果它们当中有echo或者print,那么其结果会显示在标签对应的位置。注意,这里PHP语句需要使用分号隔开,和标准的 PHP语法是一样的。同样,这里的上下文环境依然是拥有此模板文件的组件。(译者注:很多地方都提到了上下文环境,这个词在有些面向对象的书籍中是这么翻译的,而有时候也被翻译成其他文字。

在模板文件中,除了在组件标签范围内,在其他以外的地方可以自由使用其他各种标签。

总结

这一节我们来总结一下如何基于PRADO来开发一个Web应用。

首先需要创建两个文件:应用的入口文件和应用的配置文件。这一部分请参考本手册前面的"Hellow,world!"这个例子。

对于一个完整的Web应用而言,你还需要创建一个或者多个页面。每一个页面都需要有一个页面类文件,另外可能还需要一个模板文件或者规格文件。在模板文件中,你可以把组件和其他静态文本根据最终需要显示给用户看的样子组织在一起。在规格文件中,可以定义页面的属性,事件和子控件,这些定义可以在模板文件和代码中使用。这两个中都可以设置组件的初始值和指定事件的响应函数。在页面类文件中编写事件响应函数和其他函数。

有些时候,为了重用代码,你可以定义新的组件。比如你可以定一个SideBar组件来显示用户能看到的菜单,这样在各个页面中就都可以直接使用这个SideBar 组件来显示菜单了。

PRADO引入了PHP5新的异常处理机制,能够显示堆栈中的错误信息。这样在调试的时候你可以精确的找到什么方法发生了什么错误。

发布 PRADO 应用则非常简单。框架建议使用相对路径,因此如果你是这么做的话,只需要把包含你的应用的代码拷贝到你想放置的目录中就可以了。

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口