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