查看: 996|回复: 4
|
php programmer,进来看看
[复制链接]
|
|
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">'; |
|
|
|
|
|
|
|

楼主 |
发表于 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修正就可以了。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|