佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 996|回复: 4

php programmer,进来看看

[复制链接]
发表于 29-3-2007 12:04 PM | 显示全部楼层 |阅读模式
class student {
  var name;
  var age;

  function student($data){
     $this->name=$data['name'];
     $this->age=$data['age'];
  }

  function addentry() {
     redirect(); // redirect to entry page;
  }
  
  function updateentry() {
    redirect();   // redirect to entry page;
  }

  function displayentry(){
    ...
    while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
      $this->name = $row['name'];
      $this->age = $row['age'];
    }
  }
  
}

class validator{
  function notempty($val){
    return (!empty($val)) ? true : false;
  }
}








$data = (!empty($_POST['user_submit'])) ? $_POST : '';

$student = new student($data);

if($data!=''){

  $error=array();
  $proceed=false;

  

  if(!validator::notempty($student->name)
     $error[]='Please enter your name';

  if(!validator::notempty($student->age)){
     $error[]='Please enter your age';
  }

  if(!count($error)) {
     $student->addentry();
     exit();
   }
}




echo '
<input type="text" name="name" value="'.$student->name".'>
<input type="age" name="age" value="'.php echo $student->age ".'>
<input type="submit" name="user_submit" value="Submit">';
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 29-3-2007 12:07 PM | 显示全部楼层
你们对以上的code有什么看法?
我想问,当我们要validate user给我们的data时,
我们必须先把data放进class先?
还是validate $_POST,如果有error,就直接弹给user,
如果没有问题,才store在class里?
回复

使用道具 举报

发表于 29-3-2007 03:26 PM | 显示全部楼层
原帖由 lmb 于 29 303, 2007 12:07 发表
你们对以上的code有什么看法?
我想问,当我们要validate user给我们的data时,
我们必须先把data放进class先?
还是validate $_POST,如果有error,就直接弹给user,
如果没有问题,才store在class里?



這要看你的設計了。但最好是在Client那裡就已做足一切可能的validation後再submit,這可以大大減少伺服機的負荷。如以上的"Please enter your name","Please enter your age"類的,你可以用Javascript在Client那裡做validate了再submit,這樣一來,你的user就不用等伺服機的回饋了,而你的伺服機也可以減輕負擔。雙嬴!
回复

使用道具 举报

 楼主| 发表于 29-3-2007 06:21 PM | 显示全部楼层
原帖由 itplanet 于 29-3-2007 03:26 PM 发表



這要看你的設計了。但最好是在Client那裡就已做足一切可能的validation後再submit,這可以大大減少伺服機的負荷。如以上的"lease enter your name","lease enter your age"類的, ...


我赞同,可是server那边也是要做一些validation,
你有什么要建议?

先validate $_POST,如果没有问题才store去class?
还是,直接store去class,然后才validate?
回复

使用道具 举报

发表于 30-3-2007 09:16 AM | 显示全部楼层
原帖由 lmb 于 29 303, 2007 18:21 发表


我赞同,可是server那边也是要做一些validation,
你有什么要建议?

先validate $_POST,如果没有问题才store去class?
还是,直接store去class,然后才validate?


這是設計的問題。

如果目的是要減低伺服機的負荷,那就先validate了再create object。

如果你要求的是一個以後易於維護的系統,那就都在class裡做,因為這樣一來你的implementation就會隱藏於class裡了,以後要修改就不用一頁頁的找那裡有用到這功能,而是在class裡把implementation修正就可以了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 3-9-2025 06:10 AM , Processed in 0.117967 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表