상위 문서: 라이믹스/매뉴얼
개요[편집 / 원본 편집]
라이믹스가 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은 확장 기능이 없는 환경에서의 호환 수단이며 성능·정확도 차이가 있을 수 있다. 설치 환경의 권장 확장을 확인한다.
같이 보기[편집 / 원본 편집]
출처[편집 / 원본 편집]
이 문서는 라이믹스 공식 매뉴얼을 바탕으로 설명과 예제를 정리하였다. 공식 매뉴얼은 CC BY-SA 4.0으로 배포된다. 원문의 기여 이력은 rhymix-docs 저장소에서 확인할 수 있다.
| 라이믹스 · 설치·운영·개발 매뉴얼 둘러보기 | |
|---|---|
| 설치·이전 | 설치 환경 · 설치 · 업데이트 · XE에서 이전 · 호환성 점검 · nginx · 도메인 변경 |
| 운영 | 백업·복원 · 업로드·서버 진단 · 캐시·성능 · Crontab · 보안 · 릴리즈 노트 |
| 개발 | 확장 기능 제작 · 애드온 · DB 연산자 · 라우터 · 이벤트 · 개발 보안 |
| 테마·API | 테마 제작 · 템플릿 v1 · 템플릿 v2 · 프레임워크 · PHP 전역 함수 · JS 라이브러리 · JS 함수 · 레거시 JS 함수 · String 확장 |
| 기여·연동 | 이슈·PR · 코딩 규칙 · 라이선스 · IP 대역 · 시간대 · 포토스와이프 · 모바일 푸시 · 네모의 꿈 색상 |