Php 具有私有属性的全局变量
我有以下课程:Php 具有私有属性的全局变量,php,oop,variables,Php,Oop,Variables,我有以下课程: class validationHandler{ private $dataType; //set via constructor ... private $validation = null; private function requireValidation(){ if($this->validation == null){ $this->validation = loadDataFromJS
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 global,以便每个对象访问相同的变量,但不丢失私有属性
(请注意,我有不同的验证文件和不同类型的对象。对象告诉_construct()中的validationHanlder它有哪种类型,以及应该加载哪种验证文件。因此我需要$validation作为数组。(没有在代码中编写它,因此可读性更强)如果要使用创建变量,听起来像。将验证提取到一个单独的类中。将该类的实例插入到所有需要此验证的对象中。