我想创建一个验证表单输入的类(请不要对重新发明轮子发表评论)。
我认为拥有一个具有静态验证方法的类更有意义,而不是因为该对象不包含任何数据而必须实例化一个验证对象?
例如,类似:
<?php
class Validator {
static function is_numeric($val) {
if(is_numeric($val))
return true;
}
}
允许我使用:
if(!Validator::is_numeric($_POST['age'])) $error['age'] = "Age must be a number";
然而:
<?php
class Validator {
public function is_numeric($val) {
if(is_numeric($val))
return true;
}
}
是否意味着必须实例化该类的实例才能使用这些函数——我认为这是对系统内存的毫无意义的使用?:
$validator = new Validator();
if(!$validator->is_numeric($_POST['age'])) $error['age'] = "Age must be a number";
我的示例验证方法是一个糟糕的示例,因为它除了使用标准的 PHP is_numeric 函数之外什么也没做,但这只是为了说明我的观点。
静态方法类是更好的选择吗?如果不是,为什么?