- var_dump: documentation ( source)
- unserialize: documentation ( source)
- serialize: documentation ( source)
<?php
class Tablier {
public function __construct(public float $longueur, public float $largeur){
}
}
class Pont
{
private closure $taille ;
public function __sleep() {
return array('name','tablier');
}
public function __wakeup() {
$this->taille = fn() => $this->tablier->longueur * $this->tablier->largeur;
}
public function __construct(protected string $name, protected Tablier $tablier) {
$this->taille = fn() => $this->tablier->longueur * $this->tablier->largeur;
}
public function __clone(){
$this->tablier = clone $this->tablier;
}
}
$pont1 = new Pont("towerBridge", new Tablier(386,16));
var_dump($pont1);
$pont2 = clone $pont1;
$chaine = serialize($pont1);
echo $chaine;
$pont3 = unserialize($chaine);
var_dump($pont3);