자주자주 공지를 확인하세요!

라이믹스/매뉴얼/전역 함수

상위 문서: 라이믹스/매뉴얼

개요[편집 / 원본 편집]

라이믹스가 PHP 코드에서 제공하는 전역 유틸리티 함수이다. common/functions.php와 common/legacy.php에 선언되어 있다. JavaScript 함수는 라이믹스/매뉴얼/프론트엔드 라이브러리를 참고한다.

이 문서는 공식 명세의 전체 함수 목록을 분류하여 요약한다. 각 함수의 전체 인자·반환 타입·버전별 차이는 공식 함수 명세와 사용하는 코어 버전을 함께 확인한다. 문서의 mixed·유니언 타입 등 설명용 표기를 지원 PHP 버전과 무관하게 그대로 함수 선언에 복사하지 않는다.

주요 사용법[편집 / 원본 편집]

설정과 다국어[편집 / 원본 편집]

$language = config('locale.default_lang');
$label = lang('board.board_management');

두 번째 인자로 값을 전달하여 바꾼 설정·다국어 코드는 기본적으로 현재 요청에만 적용된다. config() 호출만으로 설정 파일에 영구 저장되었다고 가정하지 않는다. 설정 영구 저장은 프레임워크 Config의 저장 API를 확인한다.

URL 생성[편집 / 원본 편집]

새 URL에는 연관배열을 사용하는 방식을 권장한다.

$url = getUrl([
    'mid' => 'board',
    'category_srl' => 123,
    'page' => 2,
]);

getUrl() 결과는 HTML용으로 이스케이프된다. 원문 URL이 필요한 헤더·외부 API 등에는 해당 문맥에 맞는 getNotEncodedUrl() 등의 차이를 확인한다. 키·값을 번갈아 넘기는 옛 호출 방식은 현재 페이지 파라미터를 유지할 수 있으므로, 무관한 다른 화면으로 이동할 때 불필요한 값이 따라가지 않도록 한다.

XML 쿼리[편집 / 원본 편집]

$result = executeQuery('document.getDocument', [
    'document_srl' => 123,
]);

쿼리 ID는 보통 모듈명.파일명이다. 전달 인자는 대상 XML 쿼리에 맞춘다. 결과 객체의 오류 상태를 확인한 후 데이터를 사용한다. 자동 결과 형식은 레코드 수에 따라 달라질 수 있으며, 배열 형태가 필요하면 executeQueryArray() 또는 명세의 결과 형식 옵션을 확인한다.

문자열과 날짜[편집 / 원본 편집]

라이믹스의 starts_with()·ends_with()·contains()는 검색할 값이 첫 인자이고 원문이 두 번째이다. PHP의 str_starts_with() 등과 인자 순서가 반대이다.

$match = starts_with('rx', 'rhymix');
$stored = getInternalDateTime();
$displayed = getDisplayDateTime(time(), 'Y-m-d H:i:s');

위 문자열 비교 예제의 결과는 false이다. 저장과 표시의 시간대 차이는 라이믹스/매뉴얼/표준 시간대 처리 방식을 참고한다.

함수 목록[편집 / 원본 편집]

유틸리티 함수[편집 / 원본 편집]

함수 기능 요약
config() 시스템 설정을 불러오거나 저장합니다. $value가 null이 아닌 경우 설정을 저장하고, 그렇지 않으면 설정 값을 반환합니다.
lang() 다국어 코드를 불러오거나 저장합니다. $value가 null이 아닌 경우 다국어 코드를 저장하고, 그렇지 않으면 다국어 코드를 반환합니다.
array_first() 주어진 배열의 첫 번째 요소를 반환합니다. 배열이 비어 있는 경우 false를 반환하는데, 첫 번째 요소의 값이 false인 경우와 혼동하지 않도록 주의해야 합니다.
array_first_key() 주어진 배열의 첫 번째 키를 반환합니다. 배열이 비어 있는 경우, null을 반환합니다.
array_last() 주어진 배열의 마지막 요소를 반환합니다. 배열이 비어 있는 경우 false를 반환하는데, 마지막 요소의 값이 false인 경우와 혼동하지 않도록 주의해야 합니다.
array_last_key() 주어진 배열의 마지막 키를 반환합니다. 배열이 비어 있는 경우, null을 반환합니다.
array_escape() 배열의 모든 키와 값을 이스케이프합니다. $double_escape가 true인 경우, 이미 이스케이프된 문자열이라도 다시 이스케이프합니다.
array_flatten() 다차원 배열을 일차원 배열로 단순화합니다.
class_basename() 클래스명 또는 오브젝트의 클래스명에서 네임스페이스를 제외한 순수 클래스 이름을 반환합니다. 예를 들어, Rhymix\Framework\Helpers\DBHelper 클래스라면 DBHelper를 반환합니다.
clean_path() 이 함수는 Rhymix\Framework\Filters\FilenameFilter::cleanPath()의 alias입니다. 주어진 경로에서 /./ 등 불필요한 부분을 제거하고, 경로 구분자를 표준화합니다.
escape() HTML 특수문자를 엔티티로 변환한다. HTML 출력 위치에 맞춰 사용하며 다른 문맥의 검증을 대신하지 않는다.
escape_css() 문자열의 내용 중 CSS 속성 값에 사용할 수 없는 문자를 이스케이프합니다. 이 함수는 CSS 코드에서 사용되는 문자열을 안전하게 처리하기 위해 사용됩니다.
escape_js() 문자열을 JavaScript 코드에서 안전하게 사용할 수 있도록 이스케이프합니다.
escape_sqstr() 문자열을 작은따옴표(')로 감쌌을 때 문제가 되지 않도록 이스케이프합니다. 즉, 작은따옴표(')를 \'로 변환합니다. SQL 쿼리나 JavaScript에서 문자열을 작은따옴표로 감쌀 때는 더 안전한 다른 함수를 사용하십시오.
escape_dqstr() 문자열을 큰따옴표(")로 감쌌을 때 문제가 되지 않도록 이스케이프합니다. 즉, 큰따옴표(")를 \"로 변환합니다. SQL 쿼리나 JavaScript에서 문자열을 작은따옴표로 감쌀 때는 더 안전한 다른 함수를 사용하십시오.
explode_with_escape() 문자열을 지정한 구분자로 나누되, 이스케이프 문자가 있는 경우 해당 구분자를 무시합니다. 예를 들어, explode_with_escape(',', 'a,b\\,c,d', 0, '\\')는 ['a', 'b,c', 'd']를 반환합니다.
starts_with() 문자열이 지정한 접두사로 시작하는지 확인합니다. $case_sensitive가 true인 경우 대소문자를 구분하여 비교합니다.
ends_with() 문자열이 지정한 접미사로 끝나는지 확인합니다. $case_sensitive가 true인 경우 대소문자를 구분하여 비교합니다.
contains() 문자열이 다른 문자열을 포함하는지 확인합니다. $case_sensitive가 true인 경우 대소문자를 구분하여 비교합니다.
is_between() $needle이 $min과 $max 사이에 있는지 확인합니다. $exclusive가 true인 경우, 경계값은 포함하지 않습니다.
force_range() $input이 $min과 $max 사이에 있도록 강제합니다. 즉, $input이 $min보다 작으면 $min을 반환하고, $input이 $max보다 크면 $max를 반환하고, 그렇지 않으면 $input을 그대로 반환합니다.
base64_encode_urlsafe() 문자열을 URL 안전한 Base64 형식으로 인코딩합니다. 인코딩 결과를 URL에서 추가적인 변환 없이 안전하게 사용할 수 있도록 +, /, = 문자를 각각 -, _, 빈 문자열로 변환합니다. (=는 Base64 인코딩에서 패딩 문자로 사용되므로, 삭제해도 의미 손실이 발생하지 않습니다.)
base64_decode_urlsafe() URL 안전한 Base64 형식으로 인코딩된 문자열을 디코딩합니다.
number_shorten() SI 접미사를 사용하여 숫자를 간단하게 표현하며, 지정된 자릿수만큼 유효 숫자를 남깁니다. 예를 들어, number_shorten(1234567)은 1.2M을 반환하고, 예를 들어, number_shorten(12345678)은 12M을 반환합니다.
path2url() Rhymix\Framework\URL::fromServerPath()의 alias입니다. 주어진 서버측 파일시스템 절대경로에 대응하는 URL을 반환합니다. 변환할 수 없는 경로인 경우, false를 반환합니다.
url2path() Rhymix\Framework\URL::toServerPath()의 alias입니다. 주어진 URL에 대응하는 서버측 파일시스템 절대경로를 반환합니다. 변환할 수 없는 경로인 경우, false를 반환합니다.
hex2rgb() 16진수로 표현된 색상값의 RGB 값을 분해하여 배열로 반환합니다. 예를 들어, hex2rgb('#ff0000')은 [255, 0, 0]을 반환합니다. # 문자는 생략할 수 있으며, 대소문자를 구분하지 않습니다. #f00과 같이 3자리로 축약된 색상도 지원합니다.
rgb2hex() 배열러 표현된 RGB 값을 16진수 색상값으로 변환합니다. 예를 들어, rgb2hex([255, 0, 0])은 #ff0000을 반환합니다. $hash_prefix가 false인 경우, # 문자를 생략합니다.
include_in_clean_scope() 호출한 범위의 로컬 변수를 공유하지 않는 방식으로 파일을 포함한다. 출력과 반환값은 별도로 처리한다.
include_and_ignore_errors() 주어진 파일을 인클루드하되, 인클루드한 파일에서 발생하는 PHP 오류를 무시합니다. 인클루드한 파일에서 출력하는 내용은 그대로 출력되며, 반환값이 있는 경우 해당 값을 반환합니다.
include_and_ignore_output() 주어진 파일을 인클루드하되, 인클루드한 파일에서 출력하는 내용은 무시합니다. 반환값이 있는 경우 해당 값을 반환합니다.
tobool() 주어진 값을 boolean 타입으로 변환합니다. Y, yes, True, on, 1 등은 true로 변환하고, N, no, False, off, 0 등은 false로 변환합니다. 판단하기 어려운 경우 PHP의 기본 타입 변환 규칙을 따릅니다.
countobj() 배열에 포함된 요소의 갯수나 오브젝트의 속성 갯수를 반환합니다. 과거 XE 1.x에서는 배열과 오브젝트를 구분하지 않고 count() 함수를 남용하는 사례가 많았는데, 이러한 레거시 코드를 라이믹스와 최신 PHP에 맞게 수정할 때 활용할 수 있는 함수입니다. 가능하면 이 함수에 의존하지 말고 각 타입에 맞는 함수를 사용하시기 바랍니다.
utf8_check() 문자열이 유효한 UTF-8 인코딩인지 확인합니다.
utf8_clean() 문자열을 UTF-8 Normalization Form C로 정규화하고, 일반적으로 불필요하거나 문제를 일으킬 수 있는 특수문자를 제거합니다. 이 함수는 주로 사용자 입력을 필터링할 때 사용됩니다.
utf8_mbencode() 이모티콘, 일부 한자 및 희귀 외국어 등 Basic Multilingual Plane(BMP) 이상의 영역에 위치한 유니코드 문자를 HTML 이스케이프 시퀀스로 변환하여, 이러한 문자를 저장할 수 없는 데이터베이스에도 안전하게 저장할 수 있도록 합니다. XE 1.x에서 업그레이드하여 DB의 문자셋이 utf8mb3인 경우, 글과 댓글에 자동으로 적용됩니다.
utf8_normalize_spaces() 문자열에 포함된 줄바꿈, 탭 등 공백 문자를 모두 스페이스(\x20)로 변환하고, 연속된 스페이스를 1개로 줄입니다.
utf8_trim() 문자열의 앞뒤에서 스페이스(\x20)를 비롯하여 유니코드가 인식하는 모든 공백 문자를 제거합니다.
is_html_content() 문자열이 HTML 콘텐츠인지 확인합니다.
is_empty_html_content() 문자열이 빈 HTML인지 확인합니다. 태그와 공백 문자를 모두 제거하였을 때 남는 내용이 없다면 빈 HTML이라고 판단합니다. 예를 들어 아래의 문자열은 빈 HTML입니다.

레거시 전역 함수[편집 / 원본 편집]

legacy.php에 있다는 이유만으로 모두 deprecated인 것은 아니다. executeQuery와 날짜·URL 함수 등은 현재도 사용하는 공개 인터페이스이다.

함수 기능 요약
executeQuery() 주어진 이름의 XML 쿼리를 실행하고, 결과를 반환합니다.
executeQueryArray() 이 함수는 executeQuery()와 비슷하지만, 항상 배열에 오브젝트를 담아서 반환합니다. $result_type을 array로 지정한 것과 동일합니다.
getNextSequence() DB에서 다음 시퀀스 값을 생성하여 반환합니다.
getUrl() 짧은 주소를 생성합니다. 결과는 자동으로 이스케이프됩니다.
getNotEncodedUrl() 짧은 주소를 생성하되, 이스케이프를 적용하지 않습니다. HTML이 아닌 JavaScript나 헤더 등에 URL을 사용할 때 유용합니다.
getFullUrl() 짧은 주소를 생성하되, 도메인을 포함하는 전체 주소를 생성합니다.
getNotEncodedFullUrl() 짧은 주소를 생성하되, 도메인을 포함하는 전체 주소를 생성하고, 이스케이프하지 않습니다.
getCurrentPageUrl() 현재 페이지의 URL을 반환합니다. $escape가 true인 경우, 결과를 HTML 이스케이프합니다.
getInternalDateTime() 주어진 유닉스 타임스탬프를 내부 표준 시간대에 맞추어 주어진 형식으로 반환합니다.
getDisplayDateTime() 주어진 유닉스 타임스탬프를 디스플레이 표준 시간대에 맞추어 주어진 형식으로 반환합니다.
getMonthName() 주어진 월 번호(1~12)에 해당하는 영문 월 이름을 반환합니다. $short가 true인 경우, 짧은 형식(예: "Jan")으로 반환하고, false인 경우, 긴 형식(예: "January")으로 반환합니다.
getTimeGap() 주어진 시간이 현재 시간으로부터 24시간 이내인 경우 Rhymix\Framework\DateTime::getRelativeTimestamp() 메소드를 사용하여 "15분 전"과 같이 쉽게 읽을 수 있는 문자열을 반환합니다. 24시간을 초과한 경우, $format의 형식대로 반환합니다.
debugPrint() 주어진 값(들)을 디버그 정보에 추가합니다. Rhymix\Framework\Debug::addEntry() 메소드의 alias입니다.
getNumberingPath() 숫자를 3자리씩 나누어 분산 저장할 수 있는 경로를 생성합니다. 결과는 001/002/003/과 같이 슬래시 문자가 뒤에 붙는 형태를 띱니다.
hexrgb() hex2rgb() 함수와 동일한 기능입니다.
isCrawler() 주어진 user-agent가 로봇인지 판단합니다. $user_agent가 null인 경우, 현재 요청의 user-agent를 사용합니다. 로봇이라고 판단되는 경우, true를 반환하고, 그렇지 않으면 false를 반환합니다.
zdate() getDisplayDateTime() 함수와 비슷하지만, 유닉스 타임스탬프가 아닌 YYYYMMDDHHMMSS 또는 YYYY-MM-DD HH:MM:SS 형식의 문자열도 처리할 수 있습니다. 시간 부분이 없는 YYYYMMDD 형식을 넘길 경우, 시간은 0시 0분 0초로 간주합니다.
ztime() 위의 zdate()에서 문자열을 유닉스 타임스탬프로 변환하는 데 사용하는 함수입니다. XE 1.x에서 널리 사용하던 YYYYMMDDHHMMSS, 대부분의 DB에서 표준으로 채택한 YYYY-MM-DD HH:MM:SS와 같이 형식이 정해져 있는 문자열인 경우, 이 함수를 사용하면 strtotime()보다 더 정확한 해석을 보장할 수 있습니다.

신규 사용을 권장하지 않는 함수[편집 / 원본 편집]

아래 함수는 공식 매뉴얼의 Deprecated 절에 속한다. 기존 자료를 이해하기 위한 목록이며, 신규 코드에서는 프레임워크 API나 언어 기본 기능을 우선 검토한다.

함수 기능 요약
getModule() 특정 모듈에 소속된 특정 클래스의 인스턴스를 반환합니다. 클래스를 찾을 수 없는 경우 null을 반환합니다.
getController() 이 함수는 getModule($module_name, 'controller')와 동일합니다.
getAdminController() 이 함수는 getModule($module_name, 'controller', 'admin')과 동일합니다.
getView() 이 함수는 getModule($module_name, 'view')와 동일합니다.
getAdminView() 이 함수는 getModule($module_name, 'view', 'admin')과 동일합니다.
getModel() 이 함수는 getModule($module_name, 'model')과 동일합니다.
getAdminModel() 이 함수는 getModule($module_name, 'model', 'admin')과 동일합니다.
getAPI() 이 함수는 getModule($module_name, 'api')와 동일합니다.
getMobile() 이 함수는 getModule($module_name, 'mobile')과 동일합니다.
getWAP() 이 함수는 getModule($module_name, 'wap')과 동일합니다.
getClass() 이 함수는 getModule($module_name, 'class')와 동일합니다.
setUserSequence() 생성된 시퀀스 값을 세션에 저장합니다. getNextSequence() 함수에서 내부적으로 사용합니다.
checkUserSequence() 세션에 저장된 시퀀스 값을 주어진 값과 비교합니다.
getAutoEncodedUrl() getUrl() 함수와 비슷하지만, 생성된 URL을 이스케이프하며 $double_escape를 false로 지정한 것과 같은 결과를 반환합니다. 혼란을 일으키기 쉬운 특이한 조합이므로, 사용을 권장하지 않습니다.
getSiteUrl() getUrl() 함수와 비슷하지만, XE 1.x에서 사용하던 가상 사이트의 도메인을 포함합니다. 라이믹스에서는 XE 1.x 방식의 가상 사이트를 지원하지 않으므로, 이 함수는 사용하지 않습니다.
getNotEncodedSiteUrl() getUrl() 함수와 비슷하지만, XE 1.x에서 사용하던 가상 사이트의 도메인을 포함합니다. 라이믹스에서는 XE 1.x 방식의 가상 사이트를 지원하지 않으므로, 이 함수는 사용하지 않습니다.
getFullSiteUrl() getUrl() 함수와 비슷하지만, XE 1.x에서 사용하던 가상 사이트의 도메인을 포함합니다. 라이믹스에서는 XE 1.x 방식의 가상 사이트를 지원하지 않으므로, 이 함수는 사용하지 않습니다.
getScriptPath() 이 함수는 RX_BASEURL 상수와 동일한 값을 반환합니다.
getRequestUriByServerEnviroment() 이 함수는 $_SERVER['REQUEST_URI']에서 몇몇 특수문자를 인코딩한 결과를 반환합니다. 인코딩하는 특수문자의 종류에 일관성이 없고, 용도에 따라 escape(), escape_js(), urlencode() 등의 함수를 사용하는 것이 더 안전하므로, 이 함수는 사용하지 않는 것이 좋습니다.
isSiteID() 주어진 값이 유효한 변수명으로 사용할 수 있는 문자열인지 확인합니다.
cut_str() 문자열을 일정한 길이로 자르고, 뒤에 $tail을 붙입니다. $cut_size가 0인 경우, 문자열을 자르지 않고 그대로 반환합니다. 한글은 영문이나 숫자보다 2배의 길이를 차지한다고 가정하여, $cut_size가 10인 경우, 한글은 5자, 영문이나 숫자는 10자로 잘립니다.
get_time_zone_offset() XE 1.x에서 사용하던 +09:00 형식의 표준 시간대 offset 명칭을 초 단위로 바꾸어 반환합니다.
zgap() 현재 사용중인 디스플레이 표준 시간대와 내부 표준 시간대의 차이를 초 단위로 반환합니다.
getEncodeEmailAddress() 이메일 주소를 무단으로 수집하기 어렵도록 임의의 HTML 이스케이프 시퀀스로 변환하는 함수입니다. 2025년 현재는 크롤러가 발전하여 사실상 무의미한 기능입니다.
delObjectVars() $target_obj의 속성들 중 $del_obj에 정의된 것과 같은 속성은 삭제합니다.
getDestroyXeVars() $vars의 속성 또는 배열 키 중, XE 1.x에서 흔히 사용하던 GET/POST 변수명을 제거합니다. 라이믹스에서 흔히 사용하는 변수도 몇 가지 추가되어, 현재 적용되는 삭제 대상은 다음과 같습니다.
detectUTF8() 문자열이 정상적인 UTF-8 인코딩인지 확인합니다.
htmlHeader() HTML 헤더를 출력합니다.
htmlFooter() HTML 푸터를 출력합니다.
alertScript() 주어진 문자열을 alert()하는 자바스크립트 코드를 출력합니다.
closePopupScript() 팝업창을 닫는 자바스크립트 코드를 출력합니다.
reload() 화면을 새로고침하는 자바스크립트 코드를 출력합니다.
handleError() 이 함수는 Rhymix\Framework\Debug::addError() 메소드의 alias입니다.
getMicroTime() 이 함수는 microtime(true)와 동일합니다.
json_encode2() 이 함수는 json_encode()와 동일하며, JSON을 지원하지 않던 시기 XE 1.x의 흔적입니다.
url_decode() 이 함수는 HTML 엔티티 디코딩과 URL 디코딩을 모두 수행하려고 시도합니다. 위에서 등장한 detectUTF8() 함수와 같은 이유로 권장하지 않습니다.
blockWidgetCode() 주어진 문자열에서 위젯 코드를 무력화시킵니다.
checkCSRF() 이 함수는 Rhymix\Framework\Security::checkCSRF() 메소드의 alias입니다.
stripEmbedTagForAdmin() 이 함수는 최고관리자 권한이 있는 사용자가 다른 사용자의 콘텐츠를 열람할 때 Rhymix\Framework\Filters\MediaFilter::removeEmbeddedMedia() 메소드를 호출하여 타인이 작성한 콘텐츠에 포함된 임베드 미디어를 제거합니다.
recurciveExposureCheck() 이 함수는 사용자 권한에 따른 메뉴 노출 여부를 재귀적으로 확인합니다.
removeHackTag() 이 함수는 Rhymix\Framework\Filters\HTMLFilter::clean() 메소드의 alias입니다.
removeSrcHack() 이 함수는 항상 'Array'를 반환합니다.
purifierHtml() 이 함수는 Rhymix\Framework\Filters\HTMLFilter::clean() 메소드의 alias입니다.
checkXmpTag() 이 함수는 주어진 변수를 문자열로 변환하여 그대로 반환합니다.
checkUploadedFile() 이 함수는 Rhymix\Framework\Filters\FileContentFilter로 대체되어 이제는 항상 true를 반환합니다.
mysql_pre4_hash_password() 주어진 문자열을 구 버전 MySQL의 비밀번호 해시 방식으로 단방향 암호화합니다. 이 해시 방식은 안전하지 않으므로, 다른 시스템과 연동하기 위해 반드시 필요한 경우를 제외하면 사용을 권장하지 않습니다.
changeValueInUrl() 공식 문서에는 호출 형태만 제시되어 있다. 실제 구현과 지원 버전을 확인한다.
utf8RawUrlDecode() 공식 문서에는 호출 형태만 제시되어 있다. 실제 구현과 지원 버전을 확인한다.
_code2utf() 공식 문서에는 호출 형태만 제시되어 있다. 실제 구현과 지원 버전을 확인한다.
writeSlowlog() 공식 문서에는 호출 형태만 제시되어 있다. 실제 구현과 지원 버전을 확인한다.
flushSlowlog() 공식 문서에는 호출 형태만 제시되어 있다. 실제 구현과 지원 버전을 확인한다.
requirePear() 공식 문서에는 호출 형태만 제시되어 있다. 새 코드에서 사용하지 않고 실제 의존성을 확인한다.

Polyfill 함수[편집 / 원본 편집]

기본 함수나 확장이 없는 환경에서 호환성을 위해 제공한다. 이미 기본 함수가 있으면 중복 선언하지 않는다.

함수 기능 요약
str_starts_with() PHP 8.0 미만 버전에서도 str_starts_with() 함수를 사용할 수 있도록 합니다.
str_ends_with() PHP 8.0 미만 버전에서도 str_ends_with() 함수를 사용할 수 있도록 합니다.
str_contains() PHP 8.0 미만 버전에서도 str_contains() 함수를 사용할 수 있도록 합니다.
iconv() iconv 확장이 설치되어 있지 않고 mbstring 확장만 설치되어 있는 경우, 양쪽 함수를 모두 사용할 수 있도록 polyfill을 제공합니다.
iconv_strlen() iconv 확장이 설치되어 있지 않고 mbstring 확장만 설치되어 있는 경우, 양쪽 함수를 모두 사용할 수 있도록 polyfill을 제공합니다.
iconv_strpos() iconv 확장이 설치되어 있지 않고 mbstring 확장만 설치되어 있는 경우, 양쪽 함수를 모두 사용할 수 있도록 polyfill을 제공합니다.
iconv_substr() iconv 확장이 설치되어 있지 않고 mbstring 확장만 설치되어 있는 경우, 양쪽 함수를 모두 사용할 수 있도록 polyfill을 제공합니다.
mb_strlen() mbstring 확장이 설치되어 있지 않고 iconv 확장만 설치되어 있는 경우, 양쪽 함수를 모두 사용할 수 있도록 polyfill을 제공합니다.
mb_strpos() mbstring 확장이 설치되어 있지 않고 iconv 확장만 설치되어 있는 경우, 양쪽 함수를 모두 사용할 수 있도록 polyfill을 제공합니다.
mb_substr() mbstring 확장이 설치되어 있지 않고 iconv 확장만 설치되어 있는 경우, 양쪽 함수를 모두 사용할 수 있도록 polyfill을 제공합니다.
mb_substr_count() mbstring 확장이 설치되어 있지 않은 경우를 위한 polyfill입니다.
mb_strtoupper() mbstring 확장이 설치되어 있지 않은 경우를 위한 polyfill입니다.
mb_strtolower() mbstring 확장이 설치되어 있지 않은 경우를 위한 polyfill입니다.

사용 시 주의[편집 / 원본 편집]

  • 2.1.37은 array_escape()가 정수·실수·불리언을 불필요하게 문자열로 바꾸던 문제를 수정했다. 배열 키·값을 비교하거나 저장하는 자체 코드는 실제 자료형도 확인한다. 관련 공식 이슈
  • array_first()·array_last()의 false는 빈 배열과 실제 false 값을 구분할 수 없으므로 배열 상태를 따로 확인한다.
  • path2url()·url2path()의 변환 실패 반환값을 확인한다. URL과 서버 파일 경로는 같은 값이 아니다.
  • HTML·JS·CSS 이스케이프는 출력 문맥에 맞게 선택한다. 단순 따옴표 치환 함수로 SQL이나 JavaScript 보안을 대신하지 않는다.
  • deprecated인 업로드·HTML 검사 함수 중에는 실제 검사를 하지 않는 호환용 껍데기도 있다. 이름만 보고 검증이 수행된다고 가정하지 않는다.
  • Polyfill은 확장 기능이 없는 환경에서의 호환 수단이며 성능·정확도 차이가 있을 수 있다. 설치 환경의 권장 확장을 확인한다.

같이 보기[편집 / 원본 편집]

출처[편집 / 원본 편집]

최근 바뀜

더 보기