귀하는 로그인되어 있지 않습니다. 이대로 편집하면 귀하의 IP 주소가 편집 기록에 남게 됩니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!== 개발자를 위한 새 기능 및 변경사항 안내 == * 모듈 네임스페이스 내에 있는 클래스 파일명은 대소문자를 구분하는 것을 기본으로 결정 ** 폴더명은 하위호환성을 위해 소문자 그대로 유지합니다. ** 예) <code>Rhymix\Modules\Example\Controllers\HelloWorld</code> 클래스는 <code>modules/example/controllers/HelloWorld.php</code> 파일에 작성합니다. ** admin 모듈이 네임스페이스 방식으로 전면 개편되었고, Rhymix Framework의 파일명도 대소문자를 구분하도록 바뀌었으니 참고하세요. ** 라이믹스 2.0.x 과도기 방식처럼 소문자만으로 이루어진 파일명도 계속 지원하나, autoload할 때 조금 비효율적입니다. * 최상위 폴더에 있던 <code>composer.json</code>과 <code>vendor</code>를 <code>common</code> 폴더 안으로 이동 ** 모듈이나 애드온 등을 개발할 때 composer를 사용하더라도, 코어의 <code>composer.json</code>이나 vendor 폴더를 본의 아니게 수정하는 일을 피할 수 있습니다. (common 폴더는 서드파티 자료가 들어가지 않는 위치이므로) ** 각각의 모듈이나 애드온은 자신의 경로 아래에서 composer를 사용하는 것을 권장합니다. * 외부 요청을 위한 <code>Rhymix\Framework\HTTP</code> 클래스 추가 ** 개발이 중단된 Requests 대신 Guzzle 라이브러리를 사용하고, 기존의 <code>FileHandler::getRemoteResource()</code>와 <code>FileHandler::getRemoteFile()</code>도 내부적으로 HTTP::request()를 사용하도록 바뀌었습니다. ** Guzzle의 API를 거의 그대로 사용하므로 다양한 옵션을 지원하고, 요청이 실패한 경우에도 응답 코드 등 자세한 정보를 얻을 수 있습니다. ** 비동기(async) 요청, 여러 URL 동시 요청을 지원하므로 외부 API와 연동할 때 시간을 절약할 수 있습니다. ** 일반적인 <code>HTTP/HTTPS</code> 프록시뿐 아니라 <code>SOCKS5</code> 프록시도 지원합니다. 외부 요청시 서버 IP를 숨기는 데 도움이 됩니다. * SCSS 컴파일러를 최신 버전으로 업데이트 * 코어에 포함하여 배포하던 <code>cacert.pem</code>을 <code>composer/ca-bundle</code> 패키지로 대체하여 업데이트 편의 도모 * 디버그 패널에서 동일한 쿼리나 오류는 한 번만 표시하고, 발생한 횟수를 보여주는 편의 기능 추가 * XML 쿼리에서 SQL date 타입의 포맷(<code>YYYY-MM-DD hh:mm:ss</code>)으로 기본값을 입력할 수 있는 <code>default="timestamp()"</code> 문법 지원 ** XML 스키마에서 SQL date 타입을 사용하려면 <code>type="\date"</code>로 선언하면 됩니다. <code>type="date"</code>는 XE용 자료와 호환되도록 <code>char(14)</code>로 생성됩니다. * <code>zdate()</code>, <code>ztime()</code> 등 시간을 처리하는 함수에서 SQL date 타입의 포맷(<code>YYYY-MM-DD hh:mm:ss</code>) 및 ISO 8601 포맷(표준 시간대 정보 포함)도 기존의 14자 포맷과 동일하게 지원하여, 표준 포맷을 편리하게 사용할 수 있도록 지원 * 실험적으로 jQuery 3.x를 선택할 수 있도록 지원 ** 관리자 화면에서도 아직 오류가 많아서, 실사용은 권장하지 않습니다. * 모듈에서 <code>$this->copyResponseFrom($다른모듈)</code>을 사용하여 다른 모듈, 다른 액션의 실행 결과를 그대로 가져올 수 있도록 지원 * 자동 로그인시 <code>member.doAutoLogin (after)</code> 트리거 추가 {{깃허브|Waterticket}} ([https://github.com/rhymix/rhymix/issues/2076 #2076], [https://github.com/rhymix/rhymix/pull/2087 #2087]) * 파일 업로드시 <code>file.insertFile (before)</code> 트리거에서 포맷을 변환하거나 최종 저장 위치(<code>save_path = uploaded_filename</code>)를 지정할 수 있도록 지원 * <code>getUrl()</code> 및 관련 함수에 2차원 이상의 배열을 넘길 수 있도록 지원 ([https://github.com/rhymix/rhymix/issues/2123 #2123]) ** <code>getUrl(['foo' => 'bar']) → index.php?foo=bar</code> ** <code>getUrl(['foo' => ['bar', 'bazz']]) → index.php?foo[0]=bar&foo[1]=bazz</code> ** <code>getUrl('foo', 'bar', 'baz', 'rhymix')</code> → 키/값 구분 없이 나열하는 이런 문법은 더이상 권장하지 않습니다. * 승인, 거부, 미인증(메일 인증 미완료) 등 회원 상태를 구체적으로 표시하는 <code>status</code> 컬럼 추가 ([https://github.com/rhymix/rhymix/pull/2124 #2124]) ** 지금 크게 달라지는 것은 없으나, 확장성을 고려하여 스키마를 변경했습니다. ** 로그인 허용 여부는 여전히 <code>denied</code> 컬럼으로 판단할 수 있습니다. * AJAX 기능 강화 ** 서버단에서 Exception이 발생할 경우 항상 <code>-2</code>를 반환하도록 일관성 강화 (일반 오류는 <code>-1</code>) ** <code>exec_json()</code>에서 네트워크 오류 발생시 무조건 표시되던 AJAX communication error 팝업을 막을 수 있도록 지원 ([https://github.com/rhymix/rhymix/issues/2108 #2108]) *** <code>callback_error</code>로 지정된 함수에서 <code>false</code>를 반환하면 됩니다. ** <code>exec_xml()</code>은 더이상 권장하지 않습니다. * DB 클래스 개선 ** <code>begin()</code>에 대한 alias로 <code>beginTransaction()</code>을 추가 ** <code>connect()</code> 및 <code>disconnect()</code> 메소드를 추가하여 DB 커넥션 상태를 직접 관리할 수 있도록 지원 ** 라이믹스 2.0에서 지원하지 않았던 prefix, use_prepared_statement 등 몇몇 DB 속성들을 읽기 전용으로 제공 *** 사용을 권장하지는 않습니다. 정식 지원하는 방식으로 커스텀 쿼리를 사용한다면 prefix를 알 필요가 없습니다. * <code>config.php</code>에서 <code>session.lifetime</code> 설정에 0보다 큰 값을 입력한 경우, 기본값인 8시간(28800)을 적용하지 않고 설정값 그대로 사용하도록 변경 * <code>DocumentModel::getDocumentList()</code> 호출시 페이징이 필요하지 않으면 page를 0으로 지정하고 offset을 사용하여 <code>count(*)</code> 쿼리를 피하는 방법 제공 * 로그인하지 않은 상태에서도 <code><meta></code> 태그에 항상 CSRF 토큰을 넣도록 변경 * E_DEPRECATED 오류를 숨기지 않도록 변경 * SVG 파일 업로드시 보안상 문제가 될 수 있는 태그 필터링 강화 * <code>X-Frame-Options</code> 및 <code>X-Content-Type-Options</code> 헤더를 전송하는 보안 설정 추가 편집 요약 가온 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 가온 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림)