未定义的变量+无法访问空属性

时间:2015-02-02 22:47:13

标签: php

我正在用一种有点原始的错误记录方式编写一个类。它使用一个数组作为名为“action”的属性,在该属性中记录它最后执行的操作。但是,它不起作用。每当我尝试存储某些内容时,我都会在同一行中出现以下错误:

  1. 注意:未定义的变量:action

  2. 致命错误:无法访问空白属性

  3. 从下到上,该字段定义为:

    class Foo
    {
        ...
    
        public $action = array();
    
        ...
    

    每次操作后重置:

    private function update() {
    
        ...
    
        unset($this->action);
        $this->action = array();
    }
    

    并按照格式设置(这在多个地方完成,并且都返回相同的错误):

    $this->update();
    array_push( $this->$action, "Bar");
    

    我也注意到这总是发生在第一步,所以我怀疑语法错误,但完全没有线索。

    你们中的任何人都可以发现问题吗?

1 个答案:

答案 0 :(得分:0)

该行的变量引用无效:

array_push( $this->$action, "Bar"); 

使用:

$var->property_of_var
array_push( $this->action, "Bar");