当我尝试从另一个类中的方法引用属性时出现此错误:
Undefined variable: testInfo in
testInfo 是一个在代码前面初始化的对象:
$testInfo = new TestInfo();
我用另一个类中的方法引用它:
!$testInfo->test;
我可以从类外部回显 $testInfo->test 并返回该属性。我的问题是为什么我会收到这个错误,我将如何解决它?
当我尝试从另一个类中的方法引用属性时出现此错误:
Undefined variable: testInfo in
testInfo 是一个在代码前面初始化的对象:
$testInfo = new TestInfo();
我用另一个类中的方法引用它:
!$testInfo->test;
我可以从类外部回显 $testInfo->test 并返回该属性。我的问题是为什么我会收到这个错误,我将如何解决它?
$testInfo
需要在与使用它的地方相同的范围内可访问。
尝试将 $testInfo 传递到您的方法中
class T {
public function someMethod(TestInfo $testInfo){
// do something with testInfo
}
}
$testInfo = new TestInfo();
$t = new T();
$t->someMethod($testInfo);
使用全局关键字:
$testInfo = new TestInfo();
class X {
function y() {
global $testInfo;
echo $testInfo->test;
}
}
如果您$thisInfo->test
从另一个类引用,$thisInfo
则在该类的范围内不存在。使用global
关键字:
<?php
class TestInfo() {
public var $test = 'hello';
}
$TestInfo = new TestInfo;
class TestClass() {
public function getInfo() {
global $TestInfo;
echo $TestInfo->test;
}
}
?>