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
    }
}

当一个对象需要验证某些数据时,它会创建一个新的验证对象并调用 validate()。

第一次需要验证某些东西时,数据是从 json 文件加载的。

但是:有时我有几个需要相同验证文件的对象。并且此代码为每个对象加载文件。

问题:有没有办法设置 $validation 全局,以便每个对象访问相同的变量,但不会丢失私有属性?

(请注意,我有不同的验证文件和不同类型的对象。一个对象告诉 __construct() 中的validationHanlder 它具有哪种类型,以及应该加载哪个验证文件。所以我需要 $validation 是一个数组。(没有'不要写在代码里,这样更易​​读)

4

1 回答 1

1

您想使用创建变量static,听起来像。

于 2013-08-05T07:07:52.190 回答