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

snake28170753

snake28170753

2016-01-29 13:40

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

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

 <html
  <body
    <form name="entry" method="post"
      <h3Create 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()方法,这个方法将会跳转到主页面,可以看到所有的记录。现在还没有书写主页面程序,所以还不能看到保存过的数据。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

 

Main Todo Page (主要 Todo 页面)

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

用创建输入时的方法创建主要页面。首先创建模版 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

展开更多 50%)
分享

猜你喜欢

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

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

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

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

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

结合AJAX进行PHP开发之入门(2)

PHP
结合AJAX进行PHP开发之入门(2)

如何使用“月蚀”进行J2ME开发

编程语言 网络编程
如何使用“月蚀”进行J2ME开发

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

PHP 开发环境的选择、建立及使用(2)

PHP
PHP 开发环境的选择、建立及使用(2)

结合AJAX进行PHP开发之入门

电脑网络
结合AJAX进行PHP开发之入门

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash中表现粗细变化笔触效果(2)

Flash中表现粗细变化笔触效果(2)

轻松实现Flash的全屏播放

轻松实现Flash的全屏播放
下拉加载更多内容 ↓