| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
無名クラスPHP 7 で、無名クラスをサポートするようになりました。 その場限りの使い捨てのオブジェクトが必要になった場合に便利です。
<?php コンストラクタを使って引数を渡したり、他のクラスを継承したり、 インターフェイスを実装したり、トレイトを使ったりといった、 普通のクラスと同じようなことが可能です。
<?php 上の例の出力は以下となります。 object(class@anonymous)#1 (1) { ["Command line code0x104c5b612":"class@anonymous":private]=> int(10) } 無名クラスを別のクラス内で作っても、外側のクラスの private や protected なメソッドそしてプロパティにはアクセスできません。 外側のクラスの protected プロパティやメソッドにアクセスするには、 無名クラスに外側のクラスを継承させます。 外側のクラスの private プロパティを無名クラスで使うには、 コンストラクタでそれを渡す必要があります。
<?php 上の例の出力は以下となります。 6 同じ無名クラス宣言から作ったすべてのオブジェクトは、その同じクラスのインスタンスとなります。
<?php 上の例の出力は以下となります。 同じクラス
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「無名クラス」をGoogle検索
|