我想创建一个验证表单输入的类(请不要评论重新发明轮子)。验证类的正确设计?
我认为让静态验证方法具有类更有意义,而不必实例化验证对象,因为对象不会保存任何数据?
因此,举例来说,像这样:
<?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功能,但这只是为了说明我的观点的缘故。
静态方法类是更好的选择吗?如果不是,为什么?
在PHP中,您可以定义没有类的函数。 'valide_is_numeric(数据)'似乎更有意义。 –
我知道,但将班级中的所有类似(即验证)功能分组更有意义。用命名空间也可以实现同样的功能,但在我看来,这个实例更适合类。 – Anonymous