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 중국어 웹사이트의 기타 관련 기사를 참조하세요!