当前位置: 首页 > 图文教程 > 网络编程 > PHP > WASP使用方法简介(3)

PHP
MYSQL版本大于4.1问题 - PHPchina
怎么让用户点击一个连接后,把一个图片另存了 - PHPchina
武汉10月15日Phper聚会召集!!! - PHPchina
php如果不等待exec执行的程序创建的子进程? - PHPchina
哪位知道DISCUZ处理防SQL注入的代码是哪部分 - PHPchina
求教!我实在不知道哪里问题,在线等ing - PHPchina
怎样结束用户某一进程 - PHPchina
比对用户名密码能不能这样写? - PHPchina
求助:如何在PHP+mysql中实现数据备份? - PHPchina
大家看看这个配置对吗 - PHPchina
如何禁止require当前文件 - PHPchina
无法将回调函数放在类中? - PHPchina
村里 PHP代码高亮是怎么实现的? - PHPchina
apache安装后.服务里没有apache2这个服务! - PHPchina
请教一个小问题 - PHPchina
config.php里面是不是应该把多数参数设置为常量而不是变量? - PHPchina
请教高手一个问题 - PHPchina
如何让百度收录我的网站 ?? - PHPchina
谁能给个注入的简单语句? - PHPchina
求PHP站内搜索思路 - PHPchina

PHP 中的 WASP使用方法简介(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 52 ::
收藏到网摘: n/a

下面来为标记 arTasks来填充内容,我们需要在数据库中已经存在相关的记录。另外得连接上数据库,通过用WASP的数据模型,了就是用Wrapper类。

代码:
$oTasks = new TaskWrapper();
$oTasks->findAll();
创建了一个专对于表 Task 的数据操作对象,并且查询出所有存在的记录。
现在可以用下面的代码来循环输出值:
while($oTasks->next())
next()方法将会在没有记录时返回false
在循环的过程中,用一个数组来保存值,以便下一步的显示输出:
$arTasks[$oTasks->getId()] = $oTasks->toArray();
这段代码使用了一个内置函数getID来得到数据表中的主键。回想一下我们创建数据表时,我们在字段TaskId上创建一个主键,这样getI在就会得到字段TaskId的值。利用这个主键,可以把从数据库中取得的当前数组赋值可以传对象Wrapper。内置函数toArray()会以数组的行式返回当前数据库中的数据。例如:这个数组会像下面的一样:
{ 'TaskId' = '1' , 'Name'=>'Buy Groceries'}
视图代码并不关心 TaskId 字段,但是应该注意: 标记{task[Name]} 在页面上显示的是数据表中字段名为Name的值。
在这里没有form表单,也不就需要使用 handleEvents()方法。
到现在已经完成了对显示页面中的任务列表输出的代码编写。如果在数据库中没有存在相应的数据,那么在页面上面将不会有任务输出,因为arTasks是空的,所以模版中的代码段:
<li flexy:foreach="arTasks,key,task">{task[Name]} - <i>{task[Due]}</i></li>
将不会有输出。
一旦通过页面 Todo/Entry/ 输入第一条数据, flexy:foreach 也就有了循环的值,列表项目将会显示。
图:

如果输入更多的数据,那么将会有更多的顶目显示:
图:

结束语
到这里就完成了一个任务列表的小程序,我们可以添加和查看任务。当做这只是一个很简单的便子,如果要做更强大的功能,要更多的功能,设计更好多的页面,将会有更多的工作要做。但是幸运的,HTML代码全部是在视图层里面,我们可以任意的修改模版,而不用担心PHP代码。
总结

像模版和DB_DataObjects数据库对象目前都已经在PHP上面使用,但是没有一个应用于产品的统一标准。随着PHP中面向对象功能的加强,使用WASP进行PHP开发是很方便的。希望我们可以使用WASP来开发出更多的,更好的,动态网站。有关WASP的详细信息,请查阅: WASP documenttation.