首頁 >後端開發 >PHP7 >PHP 7.4中的弱引用(Weak References )

PHP 7.4中的弱引用(Weak References )

藏色散人
藏色散人原創
2019-11-30 14:28:523407瀏覽

PHP 7.4中的弱引用(Weak References )

#介紹

弱引用允許程式設計師保留對物件的引用,而該物件不會阻止物件被銷毀;它們對於實現類似快取的結構非常有用。它們目前在PHP中得到了擴展支援。

WeakRef目前的實作都是透過重載物件處理程序來實現的,最受歡迎的實作(pecl-weakref)改變了分配給只讀記憶體的堆疊,PHP 7.3將使其不可用。以其他方式更改物件處理程序的其他實作也存在故障的風險,並且依賴未定義的行為和拋棄一致性。

其他實作也是可能的,krakjoe/uref是一個使用低層特性(mprotect、0xCC、訊號)來實現weakrefs的實現,但代價是可移植性、產生分段錯誤、保護記憶體和隱式信號處理程序限制。

原則上,弱引用物件並不複雜,只需要(ab)使用Zend或下面的層,因為我們不直接支援它。

建議

我們以最簡單的方式直接支援弱引用。

API

該API:

final class WeakReference {
    public static function create(object $object) : WeakReference;
 
    public function get() : ?object;
}

向後不相容的變更

沒有。

翻譯:https://wiki.php.net/rfc/weakrefs

#

以上是PHP 7.4中的弱引用(Weak References )的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn