This has mostly two different reasons.
1. $this is used outside of a class.
class test{
var $runtest;
function test(){
$this->runtest = 1; // proper usage
}
function printThis(){
echo $this->runtest;
}
}
$object = new test();
echo $this->runtest; // fails this not part of an object.
echo $object->runtest; // success
2. The class method contains $this but was called in a static way.
class TestClass {
var $test;
function testMethod() {
$this->test = 'test';
}
}
TestClass::testMethod(); // Error
If the class needs to be used static the other variable or method needs to be called static as well.
class TestClass {
var $test;
function testMethod() {
TestClass::$test = 'test';
}
}
0 comments:
Post a Comment