如何访问另一个类中的函数内的变量
问题描述:
如何访问另一个类中的函数内部的变量。如何访问另一个类中的函数内的变量
在下面的例子..我想访问另一个类中的$ asdf。
例如
class abc{
public function foo1(){
$asdf ='YEAHHHHH';
}
}
class xyz{
private qw;
public function foo2(){
$this->qw= new foo1();
$this->qw->foo1()->asdf; // asdf is not found..
echo $this->qw
}
}
答
首先确保该函数返回所需的值,即:
return $asdf;
然后,您可以参考和赋值给变量:
$value = $this->qw->foo1();
所以你的代码看起来像这样:
class abc{
public function foo1(){
$asdf ='YEAHHHHH';
return $asdf;
}
}
class xyz{
private qw;
public function foo2(){
$this->qw= new foo1();
$value = $this->qw->foo1();
echo $value;
}
}
答
我建议你创建的class
object
访问class
财产和foo1()
使用return
。例如在这里..
class abc{
public function foo1(){
return 'YEAHHHHH';
}
}
class xyz{
private $qw;
public function foo2(){
$obj = new abc();
echo $this->qw = $obj->foo1();
}
}
$obj = new xyz();
$obj->foo2();
Output: YEAHHHHH
答
class abc{
public function foo1(){
$asdf ='YEAHHHHH';
return $asdf;
}
}
class xyz{
private qw = new abc();
public function foo2(){
echo $this->qw->foo1();
}
}
- 拥有了第一个函数返回的东西
- 创建其他类中所需的类的实例(你应该考虑扩展)
- 调用必要的功能
- 从被调用函数回传返回的数据
有你的函数返回值。 – jeroen 2014-10-10 16:41:41
'$ this-> qw-> foo1() - > asdf;'违反几乎所有的规则或范围,语法和可变的可见性。 – 2014-10-10 16:43:13
不可能。 '$ asdf'是一个局部变量,只有在'foo1()'方法正在执行时才会存在。做'$ this-> asdf ='yeah''可以工作,但即使如此,变量也只会在foo1被调用至少一次后才存在。 – 2014-10-10 16:44:50