$static = !(isset($this) && get_class($this) == __CLASS__);
if ($static) {
return self;
} else {
return $this;
}
in class example: class Foo {
function bar() {
$static = !(isset($this) && get_class($this) == __CLASS__);
if ($static) {
return self;
} else {
return $this;
}
}
}
or simply create below function to test:
class A
{
function foo()
{
if (isset($this)) {
echo '$this is defined (';
echo get_class($this);
echo ")\n";
} else {
echo "\$this is not defined.\n";
}
}
}
How do I check in PHP that I'm in a static context (or not)? Created at 2019-12-03 22:51:00
Updated at 2023-09-02 23:30:03
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.