버전 4.0.4
릴리즈 날짜: 2020년 7월 15일
CodeIgniter4의 4.0.4 릴리즈
주요 변경사항
FilterInterface의after()와before()에$arguments파라미터가 추가되었습니다. 이는 주요 변경사항이므로FilterInterface를 구현하는 모든 코드를 업데이트해야 합니다.
개선 사항
SQLite3 데이터베이스의 위치가 변경되었으며, 기본적으로 이제
public폴더 대신writable폴더에 위치합니다.새로운 CLI 명령: 현재 캐시 엔진의 모든 데이터를 삭제하는
cache:clear가 추가되었습니다.samsonasik 덕분에 여러 라이브러리가 100% 테스트 커버리지를 달성했습니다.
몇 가지 소폭의 성능 향상이 이루어졌습니다. 작은 차이도 중요합니다!
데이터베이스 결과 클래스의
getFieldData()가 이제 컬럼 타입과 길이를 반환합니다.기본 .htaccess 파일이 확장 문자와 더 잘 작동하도록 업데이트되었습니다.
새로운 테스트 기능: Fabricator를 사용하면 테스트에서 모의 클래스를 간단하고 반복적으로 생성할 수 있습니다.
Model 클래스의 콜백을 이제 런타임에 오버라이드할 수 있습니다. 테스트에 유용합니다.
기능 테스트에 대한 다양한 개선이 이루어졌습니다.
CLI 명령을 프로그래밍 방식으로 실행하기 위한 새로운 command() 헬퍼 함수가 추가되었습니다. 테스트 및 크론 작업에 유용합니다.
데이터베이스 Seed 클래스 스켈레톤 파일을 생성하는 새로운 명령
make:seeder가 추가되었습니다.이제 Windows의 CLI에서 색상을 사용할 수 있으며, 기타 Windows 관련 CLI 개선 사항도 포함됩니다.
url_title()처럼 작동하지만 확장 URL 문자를 자동으로 이스케이프하는 새로운 헬퍼 mb_url_title()가 추가되었습니다.이미지 라이브러리가 이제
webp이미지를 지원합니다.라우터의 정규 표현식에 유니코드 지원이 추가되었습니다.
delete_files() 헬퍼에서 숨겨진 폴더 제거 지원이 추가되었습니다.
Request 클래스의
fetchGlobal()이 이제 첫 번째 항목뿐만 아니라 데이터 배열에 필터를 적용할 수 있습니다.file유효성 검사가 이제 파일 배열과 함께 작동합니다.URI 클래스가 이제 예외 발생을 비활성화하는
setSilent()메서드를 지원합니다.URI::getSegment()에 새로운 인수가 추가되어 아무것도 없을 때 반환되는 기본값을 변경할 수 있습니다.Image에
withResource()가 구현되어 제공된 getResource()(테스트에서 사용)를 사용하는 대신 메서드 체이닝을 사용할 수 있습니다. 이미지 압축에 활용할 수 있습니다.새로운
withCookies()와withHeaders()메서드를 사용하여 리다이렉트 시 전역 Response 객체에서 쿠키와 헤더를 복사할 수 있습니다.암호화 클래스의
$key파라미터나 .env 파일에서 사용할 수 있는 특수 접두사 “hex2bin:”이 지원됩니다.
버그 수정
기본적으로 SQLite3 데이터베이스가 이제
public폴더 대신writable폴더에 위치하도록 위치가 수정되었습니다.force_https()가https://를 두 번 추가할 수 있는 버그가 수정되었습니다.잘못된 “100 Continue” 헤더가 발생할 수 있는 CurlRequest 버그가 수정되었습니다.
$target파라미터가null일 때 Image::save()의 버그가 수정되었습니다.$default 파라미터가
true로 설정될 때set_checkbox()와set_radio()의 버그가 수정되었습니다.Model 클래스의 결과 객체 처리가 수정되었습니다.
SQLite 데이터베이스의 이스케이프 문자가 수정되었습니다.
기본 키가 null일 때 Postgres와 Entity에서 삽입 시 발생하는 문제가 수정되었습니다.
CLI 스크립트가 이제 인수 내의 대시를 올바르게 인식할 수 있습니다.
CURLRequest가 이제 멀티파트 데이터와 함께 콘텐츠 길이를 올바르게 설정합니다.
ImageMagick 핸들러의 기타 안정성이 개선되었습니다.
설정 파일 내에서 유효성 검사 오류를 설정하는 것이 이제 작동합니다.
Entity에서 JSON을 저장할 때 유니코드 문자가 이스케이프되지 않습니다.
사용자 정의 HTTP 코드로 리다이렉트가 이제 올바르게 작동합니다.
Time::setTimezone()이 이제 올바르게 작동합니다.Postgres에 대한 full outer join 지원이 추가되었습니다.
fill()처리 중 Entity의 일부 캐스트 항목(array, json 등)이 올바르게 설정되지 않았던 문제가 수정되었습니다.특정 경우 이미지를 두 번 압축하려고 했던 Image GD 핸들러의 버그가 수정되었습니다.
선택된 로케일, 대시가 포함된 로케일, 폴백 “en”에서 번역 출력 로직이 올바르게 작동하도록 보장합니다.
PostgreSQL에서 API를 통한 POST/PUT 시
is_unique/is_not_unique유효성 검사가 수정되었습니다.필터 인수가
after()에 전달되지 않던 버그가 수정되었습니다.
수정된 버그의 전체 목록은 저장소의 CHANGELOG_4.0.md을 참조하십시오.