>  기사  >  백엔드 개발  >  PHP 7.4의 약한 참조

PHP 7.4의 약한 참조

藏色散人
藏色散人원래의
2019-11-30 14:28:523382검색

PHP 7.4의 약한 참조

소개

약한 참조는 프로그래머가 객체가 파괴되는 것을 방지하지 않고 객체에 대한 참조를 유지할 수 있게 해줍니다. 캐시와 같은 구조를 구현하는 데 유용합니다. 현재 PHP에서 확장 지원이 제공됩니다.

현재 WeakRef 구현은 모두 객체 핸들러를 오버로드하여 구현되며, 가장 널리 사용되는 구현(pecl-weakref)은 읽기 전용 메모리에 할당된 스택을 변경하며, PHP 7.3에서는 이를 사용할 수 없게 됩니다. 다른 방식으로 객체 핸들러를 변경하는 다른 구현도 정의되지 않은 동작을 중단하고 의존하며 일관성을 버릴 위험이 있습니다.

다른 구현도 가능합니다. krakjoe/uref는 약한 참조를 구현하기 위해 낮은 수준의 기능(mprotect, 0xCC, 신호)을 사용하지만 이식성, 분할 오류 생성, 보호된 메모리 및 암시적 신호 처리기 제한이 희생됩니다.

원칙적으로 약한 참조 객체는 복잡하지 않으며 Zend나 아래 레이어를 (ab)사용하면 됩니다. 왜냐하면 직접적으로 지원하지 않기 때문입니다.

Recommendation

가장 간단한 방법으로 약한 참조를 직접 지원합니다.

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의 약한 참조의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.