Вы не можете скрыть свойства от функций отладки, таких как print_r / var_dump. Однако вы можете симулировать свойства, используя __get/__set
, например:
<?php
class MyClass {
public function __get($name) {
if($name == "bar") {
/* take bar from somewhere */
}
}
public function __set($name, $value) {
if($name == "bar") {
/* store $value somewhere */
}
}
}
$foo = new MyClass();
$foo->bar = 1;
Таким образом, вы можете работать с $ foo-> bar, как если бы это было свойство, хотя на самом деле такого свойства не существует при выполнении var_dump и т. Д.