1--TEST-- 2isset() and empty() call get property hook 3--FILE-- 4<?php 5 6class Test { 7 public $prop1 { 8 get { return $this->prop1; } 9 set { $this->prop1 = $value; } 10 } 11} 12 13$test = new Test; 14 15$test->prop1 = true; 16var_dump(isset($test->prop1)); 17var_dump(!empty($test->prop1)); 18echo "\n", 19$test->prop1 = false; 20var_dump(isset($test->prop1)); 21var_dump(!empty($test->prop1)); 22echo "\n", 23$test->prop1 = null; 24var_dump(isset($test->prop1)); 25var_dump(!empty($test->prop1)); 26echo "\n"; 27 28?> 29--EXPECT-- 30bool(true) 31bool(true) 32 33bool(true) 34bool(false) 35 36bool(false) 37bool(false) 38