我有以下课程:
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 文件加载的。
但是:有时我有几个需要相同验证文件的对象。并且此代码为每个对象加载文件。
问题:有没有办法设置 $validation 全局,以便每个对象访问相同的变量,但不会丢失私有属性?
(请注意,我有不同的验证文件和不同类型的对象。一个对象告诉 __construct() 中的validationHanlder 它具有哪种类型,以及应该加载哪个验证文件。所以我需要 $validation 是一个数组。(没有'不要写在代码里,这样更易读)