首页 >

PHP开发利器-PRADO 1.6范例

php教程|php手册PHP开发利器-PRADO 1.6范例
Hangman,nbsp,HomePage,examples,OnClick
php教程-php手册
地方门户网站php源码,vscode删除左侧项目,ubuntu降级cuda,java实现tomcat,sqlite怎么加外键,适合学爬虫的平板电脑推荐,php字符串替换 正则,胶州seo优化价格,专门分析源码的网站,网页图片加载技术,会员中心模板手机注册lzw
ado
jar源码下载,如何进文件ubuntu,tomcat中的工程路径,爬虫网站视频,php 手机签名代码,seo查询爱站网seo教程lzw

第三章 范例:the Hangman Game

这一章将会讲一下开发一个基于Web的Hangman Game(猜词游戏)。这里面会用到一些PRADO的组件。这个游戏说明了显示状态使PRADO页面具有很强的交互性。

这个游戏只包括了一个页面来实现以下的功能:当用户第一次访问的时候,允许用户选择三种不同难度来开始这个游戏,不同的难度对应着不同的可以猜错的次数。游戏开始后,页面的上半部分会显示要猜得单词,没有猜中的字母用下划线显示。页面的下半部分列出了26个字母,用户可以点击对应字母来选择要猜的字母。如果用户放弃游戏或者错误次数超过了难度限制,会显示失败信息;如果猜对了,会显示成功信息。任何时候用户都可以重新开始游戏。

dhcp 源码,vscode怎么进行单元测试,ubuntu 安装vmd,树莓派装tomcat,爬虫收集图片,php自动发卡平台源码,40岁学seo好不好,格子三合一交友婚恋网站模板lzw
  范例中会使用的 PRADO 组件包括: TRadioButton: 显示一个单选框。 TPanel: 显示

元素。 TLabel: 显示文本。 TButton: 显示一个提交按钮。 TLinkButton: 显示一个提交操作的超链接。 TForm: 显示

元素。

这些定义好的组件通过属性和事件已经封装好了很多功能。比如,可以设置TPanelVisible
属性来控制整个

元素是不是可见。可以给TButton 组件的OnClick 事件指定一个响应函数,这样当用户点击按钮的时候就会自动调用响应函数。请参考PRADO API文档中关于这些组件更详细的信息。

游戏中的一些数据在游戏过程中需要一值保持着的。因为这里只用了一个页面,所以可以使用显示状态而不需要使用session来保存这些数据。下面这些数据需要保存在显示状态中: Word:要猜得单词。 GuessWord: 正在猜的单词(没有猜中用下划线显示)。 Level:游戏的难度级别。 Misses: 猜错的次数。

他们都被定义在页面的属性中(当然也可以不这么做)。

我们需要创建6个文件。假定这个应用放在Web服务器的根目录下,这些文件是: hangman.php : 应用的主入口; WEB-INF/hangman.spec: 应用的配置文件; WEB-INF/hangman/HomePage.php: 页面类文件; WEB-INF/hangman/HomePage.spec: 页面规格文件; WEB-INF/hangman/HomePage.tpl: 页面模板文件; WEB-INF/data/hangman.txt: 包含要猜得单词的文本文件。

下面主要讲一下HomePage 类的三个文件,其他文件和”Hello,world!”例子是类似的。

3.1 HomePage.tpl

首先来说一些页面模板文件。这个过程也是PRADO应用开发的过程。首先在页面模板中组合PRADO组件,然后就可以测试一下这个页面的显示样子,最后编写页面类文件中需要的代码。这是一个典型的RAD(快速应用开发)的开发过程。

这个模板文件的位置是 examples/hangman/HomePage.tpl .

可以看到这个模板被分成4个组件startPanel, guessPanel, winPanel, 和losePanel ;他们将根据游戏的状态来决定是否可视。

startPanel中,使用了三个 TRadioButton 组件让用户可以选择游戏的难度。TButtonOnClick 事件指定了一个响应函数onSelectLevel ,当用户选择难度后点击了按钮就会被触发。如果用户没有选择难度,TLabel 组件会显示一个错误提示信息。

guessPanel中,三个表达式标签用于显示页面的 GuessWord, Misses,和 Level 属性。 同时还有一系列的TLinkButton 组件来显示字母A到Z,它们用于让用户点击选择猜哪一个字母。不管是猜对了还是猜错了,以后这个字母就不允许再被点击了。注意,所有的这些TLinkButton 组件都有同样的一个事件OnClick 的响应函数onGuessWord

winPanellosePanel 会显示成功和错误的信息。如果用户点击了面板上的TLinkButtonOnClick 事件的响应函数onStartAgain 会被触发。

3.2 HomePage.spec

  这个页面规格文件在 examples/hangman/HomePage.spec。它很简单,就是定义了4个页面的属性: Misses, Level, GuessWordWord .

3.3 HomePage.php

  这个页面类文件在 examples/hangman/HomePage.php .

页面类 HomePage 继承了框架提供的 TPage 类。

getter和setter函数用来定义页面属性。注意: getViewState()setViewState() 函数被调用了,用来返回和保持属性的数据。这两个函数在TPage 的父类TComponent 中实现。它们是显示状态机制的主要代码。保存在显示状态中的数据在页面的postback中是一直保存着的。

接下来实现了4个事件响应函数: onSelectLevel(), onGuessWord(), onGiveUp()
onStartAgain()。它们对应着在页面模板中指定的OnClick 事件响应函数。四个函数的具体内容就不再解释了,一看就明白。

现在你可以试试这个游戏,访问 /examples/hangman.php”>URL:http:///examples/hangman.php


PHP开发利器-PRADO 1.6范例
  • PHP 从登陆界面跳转到主页时主页面显示的有关问题
  • PHP 从登陆界面跳转到主页时主页面显示的有关问题 | PHP 从登陆界面跳转到主页时主页面显示的有关问题 ...

    PHP开发利器-PRADO 1.6范例
  • :有没有ThinkPHP的业务模型和控制器的实例文章?
  • :有没有ThinkPHP的业务模型和控制器的实例文章? | :有没有ThinkPHP的业务模型和控制器的实例文章? ...

    PHP开发利器-PRADO 1.6范例
  • php5 and xml示例
  • php5 and xml示例 | php5 and xml示例 ...