定義済みクラス

Closure クラス

無名関数 を表すために使うクラスです。
無名関数は、Closure 型のオブジェクトを生成します。 このクラスにはメソッドが用意され、 生成した無名関数をさらにコントロールできるようになっています。

Generator クラス

ジェネレータ関数を呼んだときには、この内部クラスの新しいオブジェクトを返します。
Generator オブジェクトのインスタンスは new では作れません

Fiber クラス

php 8.1
ファイバー(Fiber) は 完全なスタックを持つ、停止可能な関数です。 ファイバー はコールスタック中のどこからでも停止することができますし、 後に再開されるまで実行を停止したままにできます。

WeakReference クラス

弱い参照により、オブジェクトが破棄されるのを妨げないオブジェクトへの参照を保持することが可能です。 この機能は、キャッシュのようなデータ構造を実装するのに役立ちます。

$obj = new stdClass;
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());

/* output
object(stdClass)#1 (0) {
}
NULL //元のオブジェクトが破棄されるとNULLになる
*/