0
全局变量我有下面的类:私人属性
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
}
}
当一个对象需要验证一些数据,它使一个新的验证对象和调用验证()。
第一次需要验证某些内容时,数据会从json文件中加载。
但是:有时我有几个对象需要相同的验证文件。此代码为每个对象加载文件。
问题:是否有一种方法来设置$ validation global,以便每个对象都访问相同的变量,但不会丢失私有属性? (注意,我有不同的验证文件和不同种类的对象,一个对象告诉validationHanlder在__construct()里面有哪些类型,以及哪个验证文件应该加载,所以我需要$ validation来做一个验证文件阵列。(没写的代码,因此它更具可读性)
提取验证到一个单独的类。注入一个实例把这个类放入需要验证的所有对象中。 – Gordon