我有以下课程:
class validationHandler{
private $dataType; //set via constructor ...
private $validation = null;
private function requireValidation(){
if($this->validation == null){
$this->validation = loadDataFromJSONfile($this->dataType);
}
}
public function validate($data){
$this->requireValidation();
//validate... the rules are in the $validation-variable
}
}
当一个对象需要验证某些数据时,它会生成一个新的验证对象并调用validate()。
第一次需要验证某些内容时,数据是从json文件加载的。
但是:有时我有几个需要相同验证文件的对象。此代码为每个Object加载文件。
问题:有没有办法设置$ validation global,这样每个对象都可以访问同一个变量,但不会丢失私有属性?
(注意我有不同的验证文件和不同类型的对象。一个对象告诉__construct()中的validationHanlder它有哪种类型,以及应该加载哪个验证文件。所以我需要$ validation成为一个数组。(没有在代码中写,所以它更具可读性)