我们需要在数据库中已经存在相关的记录

下面来为标记
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.

发表评论

电子邮件地址不会被公开。 必填项已用*标注