<?php class X { protected string $foo; public function __isset($name) { echo "__isset called\n"; // This is the same like in line 22. So why it doesn't call __isset() again if (!isset($this->foo)) { return true; }; return false; } public function test_isset() { var_dump(isset($this->foo)); // Is false always unset($this->foo); var_dump(isset($this->foo)); // This should be false, but it calls __isset(). } } (new X())->test_isset();
You have javascript disabled. You will not be able to edit any code.