当前位置: 首页 > 图文教程 > 网络编程 > PHP > 如何简单使用WASP进行PHP开发(2)

PHP
php 多线程上下文中安全写文件实现代码
PHP类的使用 实例代码讲解
用php实现让页面只能被百度gogole蜘蛛访问的方法
php 学习笔记
PHP编程过程中需要了解的this,self,parent的区别
php 操作excel文件的方法小结
使用PHP获取网络文件的实现代码
PHP 巧用数组降低程序的时间复杂度
php下将XML转换为数组
php 文件上传代码(限制jpg文件)
php 无极分类(递归)实现代码
PHP 采集获取指定网址的内容
PHP 将图片按创建时间进行分类存储的实现代码
PHP 存储文本换行实现方法
PHP 批量更新网页内容实现代码
用PHP查询搜索引擎排名位置的代码
用php实现的获取网页中的图片并保存到本地的代码
php实现首页链接查询 友情链接检查的代码
处理php自动反斜杠的函数代码
php实现的遍历文件夹下所有文件,编辑删除

如何简单使用WASP进行PHP开发(2)


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

下面是模版式的HMTL代码,保存在 Todo/Entry/templates/index.chunk;

 <html>
  <body>
    <form name="entry" method="post">
      <h3>Create Entry</h3>
      <p>
        Name:<br/>
        <input type="text" name="Name"/>
      </p>
      <p>
        Date Due (format mm/dd/yyyy):<br/>
        <input type="text" name="Due"/>
      </p>
      <input type="submit" name="Add" value="Add"/>
    </form>
  </body>
</html> 

 这个页面是主要的输入界面,没有必要包含任何的数据操作的代码。这个页面仅仅包含了一个简单的表单和二个文本输入框和一个确认按钮。
 这是为登录界面要做的所有。访问/Todo/Entry的URL你会得到下面的图面:

 

 我们已经得到了正确的结果。这个页面唯一需要的事件就是为Add按钮添加单击事件,而我们仅要做的就是为这个事件修改事件处理代码。按照习惯,处理所有表单事件(包括其它一些事件)的代码在类 Chunk 的 handleEvents() 方法里面。
 下面是 Todo/Entry/EntryIndexPage.php 文件中的handleEvents()的代码:
 protected function handleEvents()
   {
     //Check for Add button presses
     if (Request::getParameter('Add') != null)
     {
         $oTask = new TaskWrapper();
         $oTask->fillFromRequest();
         $oTask->save();
         $this->redirect('../');
     }
   }

  代码:
  //Check for Add button presses
if (Request::getParameter('Add') != null)
{
  $oTask = new TaskWrapper();
  $oTask->fillFromRequest();
  $oTask->save();
  $this->redirect('../');
}

处理了用户在登录页面点击Add 按钮后的事件。当事件发生时,应该创建一个新的任务。因为文件框的命名为Name 和 Due 和数据库中表的字段名字相符合,所以我们可以使用代码:
$oTask = new TaskWrapper();
$oTask->fillFromRequest();
来创建一个新的 TaskWrapper对象,并且从表单中得到数据。在这种情况下,仅有Name和Due是处理的数据,数据表字段也少,感觉不到其便利,但是可以想像一下在处理有很多个数据时的便利。在以前得在$oTask对象中处理用户请求,然后操作数据库等等,但在这里大多数情况下不需要这样做。
代码:
$oTask->save();
可以来完成这些。当TaskWrapper对象没有设置主键时,这个方法将向数据库插入一条记录。如果以下面的方式创建对象
$oTask = new TaskWrapper(12);
并且调用save()方法,将会修改主键值为12的记录。

注意一下$this->redirect()方法,这个方法将会跳转到主页面,可以看到所有的记录。现在还没有书写主页面程序,所以还不能看到保存过的数据。

 

Main Todo Page (主要 Todo 页面)

用创建输入时的方法创建主要页面。首先创建模版 Todo/templates/index.chunk, 文件内容为:
  <html>
  <body>
    <h3>{Title}</h3>
    <li flexy:foreach="arTasks,key,task">{task[Name]} - <i>{task[Due]}</i></li>
    <p>
      <a href="Entry/">Add Task</a>
    </p>
  </body>
 </html>

注意一个内部的代码,请把所有注意力集中到标记<li>里面flexy中的foreac