2012-12-07 80 views
1

我來自C++,我經常使用RAII。php - RAII好習慣?

據我所知,PHP使用自動內存管理,那麼通過PHP構造函數/析構函數使用RAII仍然適用/良好實踐?

+0

可能的重複[PHP支持RAII模式嗎?如何?](http://stackoverflow.com/questions/4938679/does-php-support-the-raii-pattern-how) –

回答

0

據我所知,我不認爲RAI​​I可以在PHP中實現。不保證在關聯的對象作用域時調用析構函數,而是在PHP運行時認爲對象不再被引用時調用析構函數。因此,它可能不像RAII那樣可靠。這可能是值得通過本文檔中詳細閱讀:

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

+0

http://stackoverflow.com/questions/4938679/does-php-support-the -raii圖案如何 –

0

由於RAII用於鎖的線程,文件操作。在PHP中,你沒有線程,只是叉子。在構造函數和釋放內存中釋放,分配和創建核心對象在析構函數中仍然是很好的做法,即使在PHP 5.3中有非常好的垃圾收集器。