Php 在类中设置用于多个函数/方法的变量

Php 在类中设置用于多个函数/方法的变量,php,class,oop,Php,Class,Oop,我正在尝试设置一个变量$tester,该变量可用于MyClass中的多个函数 我已经设置了变量并在\uuu construct()上添加了一个函数,但是当我尝试回显它时,我收到了一个未定义变量的通知-为什么会这样 class MyClass { public $tester; public function __construct() { add_action( 'init', array( &$this, 'varia

我正在尝试设置一个变量$tester,该变量可用于MyClass中的多个函数

我已经设置了变量并在
\uuu construct()
上添加了一个函数,但是当我尝试回显它时,我收到了一个未定义变量的通知-为什么会这样

    class MyClass {

        public $tester;

        public function __construct() {
            add_action( 'init', array( &$this, 'variables' ) );
            add_action( 'init', array( &$this, 'do_stuff' ) );
        }

        public function variables() {
            $tester = get_option( 'an_option' );
        }

        public function do_stuff() {
            echo $tester;
        }

    }

    $my_class   =   new MyClass();
试试这个。名为always with
$this->
的类中的属性

看看这个
$this->tester
,而不是
$tester
——前者是实例属性;后者的作用域是本地的方法(),默认情况下,对象在PHP中作为引用分配和传递,不需要在
&$this
中使用
&
,它们可以被复制吗?一个接一个:谢谢你的回答,如果你愿意的话,你能在函数中将变量定义为$variable吗?@bigdaveygeorge否,因为这样变量的作用域只在局部函数中,而不在类中
class MyClass {

    public $tester;

    public function __construct() {
        add_action( 'init', array( &$this, 'variables' ) );
        add_action( 'init', array( &$this, 'do_stuff' ) );
    }

    public function variables() {
        $this->tester = get_option( 'an_option' );
    }

    public function do_stuff() {
        echo $this->tester;
    }

}

$my_class   =   new MyClass();