uopz

uopz (User Operations for Zend)

uopz는 User Operations for Zend의 약자예요. Zend 엔진의 기능을 런타임에 노출해서, 보통 컴파일·실행 시점에만 쓰는 내부 구조를 수정할 수 있게 해주는 확장입니다. 이 페이지에서는 개요를 살펴봐요.

출처: User Operations for Zend

본문

uopz — User Operations for Zend — 확장은 보통 컴파일 및 실행 시점에만 사용되던 Zend 엔진 기능을 노출합니다. 그래서 PHP 코드를 나타내는 내부 구조를 수정할 수 있고, 사용자 코드가 VM(가상 머신)과 상호작용할 수 있게 해줘요.

uopz가 지원하는 활동들은 모두 opcache와 호환된다는 점을 기억해 두세요. 다만 버전별 호환성에 주의가 필요한데, PECL uopz 6.1.1은 Xdebug 2.9.4 이상과 호환되지 않고, 그 이후 버전들은 Xdebug 2.9.4 미만과 호환되지 않습니다.

주요 함수들은 다음과 같아요.

  • 함수·클래스 수정uopz_add_function, uopz_del_function, uopz_copy, uopz_compose, uopz_extend, uopz_implement, uopz_overload, uopz_redefine, uopz_rename, uopz_undefine
  • 리턴 값·모킹uopz_set_return, uopz_unset_return, uopz_get_return, uopz_set_mock, uopz_unset_mock, uopz_get_mock
  • 훅(hook)uopz_set_hook, uopz_unset_hook, uopz_get_hook
  • 프로퍼티·staticuopz_set_property, uopz_get_property, uopz_set_static, uopz_get_static
  • 백업·복원uopz_backup, uopz_restore, uopz_delete
  • 기타uopz_allow_exit, uopz_flags, uopz_function, uopz_get_exit_status

더 알아보기