1

私は定期的に RAII を使用している C++ から来ています。

私の知る限り、PHPは自動メモリ管理を使用していますが、PHPでコンストラクタ/デストラクタを介してRAIIを使用することはまだ適用可能/良い方法ですか?

4

2 に答える 2

0

RAII は、ロック スレッド、ファイル操作に使用されます。PHP では、スレッドはなく、フォークだけです。PHP 5.3には非常に優れたガベージコレクタがあるため、コアオブジェクトをコンストラクタに割り当てて作成し、デストラクタでメモリを解放することは、依然として良い習慣です。

于 2012-12-07T08:52:44.663 に答える
0

私の知る限り、RAII を PHP で実装できるとは思えません。デストラクタは、関連付けられたオブジェクトがスコープされたときに呼び出されることが保証されているわけではなく、オブジェクトが参照されなくなったと PHP ランタイムが判断したときに必ず呼び出されます。その結果、RAII の信頼性が低下する可能性があります。このドキュメントを詳しく読むことはおそらく価値があります。

http://php.net/manual/en/language.oop5.decon.php

于 2012-12-07T08:49:32.110 に答える