Multibyte String 함수 오버로딩 기능

경고 이 기능은 PHP 7.2.0부터 더 이상 사용되지 않으며 PHP 8.0.0부터 제거되었습니다. 이 기능에 의존하는 것은 매우 권장되지 않습니다.

주어진 멀티바이트 환경에서 기존 PHP 애플리케이션이 작동하도록 하는 것이 종종 어렵다는 것을 알게 될 것입니다. 이것은 대부분의 PHP 애플리케이션이 다중 바이트 인코딩된 문자열을 제대로 처리하지 못하는 것으로 알려진 substr()과 같은 표준 문자열 함수로 작성되었기 때문에 발생합니다.

mbstring은 표준 문자열 함수에서 멀티바이트 대응물을 오버로드하여 코드 수정 없이 이러한 애플리케이션에 멀티바이트 인식을 추가할 수 있는 '함수 오버로드' 함수를 지원합니다. 예를 들어, 함수 오버로딩이 활성화된 경우 substr() 대신 mb_substr()이 호출됩니다. 이 기능을 사용하면 대부분의 경우 싱글바이트 인코딩만 지원하는 애플리케이션을 멀티바이트 환경으로 쉽게 이식할 수 있습니다.

함수 오버로딩을 사용하려면 php.inimbstring.func_overload를 오버로드할 함수의 범주를 지정하는 비트마스크 조합을 나타내는 양수 값으로 설정합니다. mail() 함수를 오버로드하려면 1로 설정해야 합니다. 2는 문자열 함수, 4는 정규 표현식 함수입니다. 예를 들어 7로 설정하면 메일, 문자열 및 정규식 함수가 오버로드됩니다. 오버로드된 함수 목록은 다음과 같습니다.

오버로딩할 함수

메모: 디렉토리별 컨텍스트에서 함수 오버로딩 옵션을 사용하는 것은 권장되지 않습니다. 프로덕션 환경에서 아직 충분히 안정적이지 않고 정의되지 않은 동작으로 이어질 수 있기 때문입니다.