下面来为标记 arTasks来填充内容,我们需要在数据库中已经存在相关的记录。另外得连接上数据库,通过用WASP的数据模型,了就是用Wrapper类。 phperz.com
代码: $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是空的,所以模版中的代码段: www~phperz~com <li flexy:foreach="arTasks,key,task">{task[Name]} - <i>{task[Due]}</i></li> 将不会有输出。 一旦通过页面 Todo/Entry/ 输入第一条数据, flexy:foreach 也就有了循环的值,列表项目将会显示。 图: www.phperz.com
如果输入更多的数据,那么将会有更多的顶目显示: 图: phperz.com
结束语 到这里就完成了一个任务列表的小程序,我们可以添加和查看任务。当做这只是一个很简单的便子,如果要做更强大的功能,要更多的功能,设计更好多的页面,将会有更多的工作要做。但是幸运的,HTML代码全部是在视图层里面,我们可以任意的修改模版,而不用担心PHP代码。 总结 php程序员站
像模版和DB_DataObjects数据库对象目前都已经在PHP上面使用,但是没有一个应用于产品的统一标准。随着PHP中面向对象功能的加强,使用WASP进行PHP开发是很方便的。希望我们可以使用WASP来开发出更多的,更好的,动态网站。有关WASP的详细信息,请查阅: WASP documenttation. phperz.com phperz.com
|