正在阅读:PHP开发利器-PRADO 1.6PHP开发利器-PRADO 1.6

2005-04-27 10:26 出处: 作者:Qiang Xue/著 薛繁/译 责任编辑:xietaoming

1.2  安装


  PRADO需要PHP5的环境,以及SimpleXML模块(PHP5缺省安装后的环境下已经包括了这个模块)。在Windows XP和RedHat Linux环境下,已经在Apache和IIS Web服务器上都通过了测试。

  PRADO框架使用一个.zip文件发布。在Linux下可以使用unzip,在Windows下可以使用Winzip来解压。解压完毕后,会在当前目录下创建一个目录prado。这个目录主要包括以下这些文件和目录:

 README.html            此项目的说明文件
index.html 和README.html中的内容是一样的
COPYRIGHT 此项目的版权信息
HISTORY 版本升级信息
framework/ PRADO框架的核心代码
examples/ PRADO的一些例子
docs/ PRADO的帮助文档

  完成了解压之后,把prado目录的所有东西复制到Web服务器的根目录下。(也可以把它复制到某一个子目录下,甚至更深层次的目录下,PRADO对此没有限制。如果你将它复制到了某一个子目录下,以下的URL地址需要做相应的修改。)

  非常简单,安装已经完成了!现在你可以试一下PRADO发布包中的三个例子了:``Hello, world!", the Hangman Game(一个猜单词的游戏), 和PRADO通讯录,它们的URL地址是:

  • ``Hello, world!" - http://<Web-server-address>/examples/helloworld.php
  • the Hangman game - http://<Web-server-address>/examples/hangman.php
  • the PRADO phonebook - http://<Web-server-address>/examples/phonebook.php

1.3  范例: Hello, World!

  在这一节中,我们主要来说明``Hello, world!''

  这个例子,让你对使用PRADO开发有一个印象。这个例子非常的简单,只有一个页面,上面显示了一个"Click me"的按钮。当用户点击了这个按钮,这个按钮的标题会变成``Hello, world!''。

  要完成这个功能需要这些文件,

  • helloworld.php , 应用的主入口;
  • helloworld/application.spec, 应用的配置文件;
  • helloworld/HomePage.php, 页面的类文件;
  • helloworld/HomePage.tpl, 页面的模板文件.

  注意,目录 helloworld 应该设置为Web用户不可以访问的(读的权限也不能给),因为其中的文件包括了一些重要的数据信息(比如数据库的连接口令等等)。不用担心这么设置Web用户会不能正常的访问,因为实际上他们根本不用去访问helloworld 目录中的文件。在其它使用PRADO开发的应用中你也应该这么做。

  在helloworld.php 文件中,程序主要是实例化 TApplication 这个类,(译者注:如果对实例化这个词不怎么理解,你也可以这么理解,就是申明一个类型为TApplication的变量。)并开始运行应用,代码如下:

 <?php require_once('../framework/TApplication.php');
$app=TApplication::getInstance('helloworld/application.spec');
$app->run();
?>

  这里我们假定框架的代码位于 ../framework 目录下。

  每一个 PRADO应用都应该有这么一个入口文件。他们之间主要的区别在于 getInstance
函数的参数的不同,这个参数指明了应用的配置文件的位置。

application.spec 是一个XML文件,用来配置应用级别的参数。(就好象全局变量一样,当然现在是只读的,我们正在决定是否下一版本中允许可读写的)在这个例子中,它包含了如下的代码:

 <?xml version="1.0" encoding="UTF-8"?>
<application default-page="HomePage" cache-path="">
<alias name="Pages" path="." />
<using namespace="System.Web.UI.WebControls" />
<using namespace="Pages" />
</application>

  <alias> 元素(译者注:按XML文件通常的译法,<alias>...</alias>整个翻译为元素,其中alias翻译为元素的标签,一对闭合的alias标签中的值翻译为元素值,name, path这些则翻译为属性名,它们的值翻译为属性值,参考"<标签 属性名= 属性值>元素值</标签>")定义了路径的别名。别名System 是系统内部定义好的,用来指示框架核心代码所在的目录。可以使用路径别名来定义命名空间。命名空间实际上就是一个加入到PHP搜索路径 include_path中的目录。 <using> 元素指明启动应用使用的命名空间。(也可以在代码中调用 using() 函数来使用一个命名空间) 

  <application>default-page 属性指明了应用启动时缺省进入哪一个页面。在这里我们指定了HomePage页面,它对应了一个页面类HomePage (关于页面和页面类后面会专门对它们进行解释的)。

  HomePage.tpl 文件是页面类HomePage一个模板文件,包含如下的代码:

 <html>
<head>
<title>Hello, world!</title>
</head>
<body>
<com:TForm>
<com:TButton Text="Click me" OnClick="clickMe" />
</com:TForm>
</body>
</html>

  它和HTML页面非常的相似。唯一不同的地方就是元素 <com:TButton> ,它代表了一个
TButton 组件。 TButton 组件将会显示为一个表单的按钮,按钮的标题是"Click Me","Click
Me"是在 Text 属性中被指定的。通过设置 OnClick ,可以指定页面方法 clickMe 来响应按钮的 OnClick 事件。因此,当按钮被点击的时候,方法 clickMe 就会被自动调用了。

  HomePage.php 文件包含了定义页面类 HomePage 的代码,如下:

 <?php
class HomePage extends TPage
{
function clickMe($sender,$param)
{
$sender->Text="Hello, world!";
}
}
?>

HomePage 类继承了 TPage 类。TPage 类是PRADO框架本身提供的,它是所有页面类的基类。HomePage 类只包含了一个方法clickMe ,这个方法就是刚才我们提到的页面模板中响应按钮OnClick 事件的方法clickMe  。这个方法的代码的作用是设置事件的发送者$sender(这里就是这个按钮)的Text 属性为 ``Hello, world!"。我们期望当用户点击这个按钮的时候,按钮的标题改为``Hello, world!" 。
  这个包含在 PRADO 发布包中的例子可以通过此URL来访问:href="http:///examples/helloworld.php">http://<Web-server-address>/examples/helloworld.php
.
  你可能会说完成这么一个简单的功能有什么大惊小怪的。是的,这个功能确实非常简单,用几行php代码就可以完成。但是这个例子主要是目的是为了让你感受一下PRADO编程方式,它是面向对象的,基于组件和基于事件驱动的。用类似的编程方式可以实现更复杂的功能,请继续看下面几章。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品