- var_dump: documentation ( source)
- debug_backtrace: documentation ( source)
- serialize: documentation ( source)
<?php
class Obj {
public function __construct($mix) {
foreach ($mix as $k => $v) {
$this->$k = $v;
}
}
public function __toString() {
$str = '';
foreach ($this as $k => $v) {
$str = "$k => $v\n";
}
return $str;
}
}
class A {
public $obj;
public function setObj($obj) {
$this->obj = $obj;
}
public function getObj() {
return $this->obj;
}
function __sleep() {
return ['test' => $this->obj];
}
}
function printA(A $a) {
var_dump($a);
serialize(debug_backtrace(0));
}
$obj = new Obj(['hello'=>'there']);
$a = new A();
$a->setObj($obj);
var_dump($a->getObj());
printA($a);
var_dump($a->getObj());