4.4.3에서 4.4.4로 업그레이드

설치 방법에 맞는 업그레이드 지침을 참조하십시오.

필수 파일 변경사항

오류 파일

올바른 오류 메시지를 표시하려면 다음 파일을 업데이트하십시오:

  • app/Views/errors/cli/error_exception.php

  • app/Views/errors/html/error_exception.php

주요 변경사항

점 배열 구문을 사용한 유효성 검사

유효성 검사 규칙에서 점 배열 구문을 사용하는 경우, *가 잘못된 차원의 데이터를 검증하던 버그가 수정되었습니다.

이전 버전에서는 규칙 키 contacts.*.namecontacts.*.name, contacts.*.*.name, contacts.*.*.*.name 등 모든 레벨의 데이터를 잘못 처리했습니다.

다음 코드가 세부 사항을 설명합니다:

use Config\Services;

$validation = Services::validation();

$data = [
    'contacts' => [
        'name' => 'Joe Smith',
        'just' => [
            'friends' => [
                ['name' => 'SATO Taro'],
                ['name' => 'Li Ming'],
                ['name' => 'Heinz Müller'],
            ],
        ],
    ],
];

$validation->setRules(
    ['contacts.*.name' => 'required|max_length[8]'],
);

$validation->run($data); // false

d($validation->getErrors());
/*
 Before: Captured `contacts.*.*.*.name` incorrectly.
 [
   contacts.just.friends.0.name => "The contacts.*.name field cannot exceed 8 characters in length.",
   contacts.just.friends.2.name => "The contacts.*.name field cannot exceed 8 characters in length.",
 ]

 After: Captures no data for `contacts.*.name`.
 [
   contacts.*.name => string (38) "The contacts.*.name field is required.",
 ]
*/

이 버그에 의존하는 코드가 있다면 규칙 키를 수정하십시오.

유효성 검사 규칙 matches 및 differs

Strict 및 Traditional 규칙에서 matchesdiffers가 비문자열 타입 데이터를 검증할 때의 버그가 수정되었으므로, 이 규칙들을 사용하여 비문자열 데이터를 검증하는 경우 유효성 검사 결과가 변경(수정)될 수 있습니다.

Traditional 규칙은 문자열이 아닌 데이터의 검증에 사용하지 않는 것이 좋습니다.

CURLRequest에서 ssl_key 옵션 사용이 제거되었습니다

CURLRequest 옵션 ssl_key는 더 이상 인식되지 않습니다. 사용 중인 경우, CURLRequest의 CA 번들 경로를 정의하려면 ssl_key 옵션을 verify 옵션으로 대체해야 합니다.

CURLRequest 옵션 verify는 기존과 같이 불리언 값도 사용할 수 있습니다.

프로젝트 파일

프로젝트 공간 (root, app, public, writable)의 일부 파일이 업데이트되었습니다. 이 파일들은 system 범위 밖에 있으므로 직접 변경하지 않으면 수정되지 않습니다.

프로젝트 공간의 변경사항 병합을 도와주는 서드파티 CodeIgniter 모듈이 있습니다: Packagist에서 찾기.

모든 변경사항

다음은 프로젝트 공간에서 변경된 모든 파일 목록입니다. 많은 파일들이 런타임에 영향을 미치지 않는 단순한 주석이나 형식 변경입니다:

  • app/Config/App.php

  • app/Config/Autoload.php

  • app/Config/Boot/development.php

  • app/Config/Boot/testing.php

  • app/Config/Cache.php

  • app/Config/Email.php

  • app/Config/Filters.php

  • app/Config/Kint.php

  • app/Config/Modules.php

  • app/Config/Publisher.php

  • app/Config/Session.php

  • app/Views/errors/cli/error_exception.php

  • app/Views/errors/html/error_exception.php

  • composer.json

  • env

  • spark