class Connection {
private $resource;
public function __construct(string $dsn) {
$this->resource = pg_connect($dsn);
}
public function __destruct() {
if ($this->resource) {
pg_close($this->resource);
}
}
}
// PHP 8.0: Constructor Property Promotion
class User {
public function __construct(
public readonly string $name,
public readonly int $age,
) {}
}Деструктор вызывается при уничтожении объекта (когда refcount = 0 или при завершении скрипта). Порядок вызова деструкторов не гарантирован.