버전 4.0.0-beta.2

릴리스 날짜: 2019년 4월 4일

주요 내용

  • Model 및 테스트 클래스를 중심으로 다수의 수정 및 개선사항이 포함되어 있습니다.

  • 이제 모델에는 기본 키가 필요합니다.

  • 생성된 API 문서는 https://codeigniter4.github.io/api/에서 접근할 수 있습니다.

  • 유효성 검사 규칙이 개선되었습니다.

  • .htaccess가 강화되었습니다.

새로운 메시지

  • Database.noPrimaryKey, forFindColumnHaveMultipleColumns, Database.forEmptyInputGiven

앱 변경사항

  • app/Config/Events가 업데이트되었습니다.

  • app/Controllers/BaseController이 추가되었습니다.

  • 유닛 테스트를 위한 tests/ 폴더가 추가되었습니다.

  • 유닛 테스트 구성을 위한 phpunit.xml.dist가 추가되었습니다.

변경된 파일

변경된 파일 목록과 PR 번호가 아래에 표시됩니다.

  • .htaccess #1900

  • app/
    • Config/
      • Events #1856

    • Controllers/
      • BaseController #1847

      • Home #1847

  • contributing/
    • README.rst #1846

    • styleguide #1872

  • contributing.md #1846

  • phpdoc.dist.xml #1872

  • system/
    • Autoloader/
      • FileLocator #1860

    • Cache/Handlers/
      • FileHandler #1895

      • MemcachedHandler #1895

      • PredisHandler #1895

      • RedisHandler #1863, #1895

      • WincacheHandler #1895

    • CLI/
      • CLI #1891, #1910

    • Commands/
      • Server/Serve #1893

      • Utilities/Routes #1859

    • Config/
      • BaseConfig #1811

      • Routes #1847, #1850

    • Database/
      • BaseBuilder $1776, #1902

      • BaseConnection #1899

      • Forge #1844, #1899

      • MigrationRunner #1860, #1865

      • MySQLi/Connection #1896

      • MySQLi/Forge #1899

      • Postgre/Builder #1902

      • Postgre/Forge #1899

      • Query #1805, #1771

      • SQLite3/Builder #1902

      • SQLite3/Forge #1899

    • Debug/
      • Toolbar/Collectors/History #1869

      • Toolbar #1897

    • Events/
      • Events #1867

    • Exceptions/
      • ModelException #1829

      • PageNotFoundException #1844

    • Files/
      • File #1809, #1854

    • Helpers/
      • date_helper #d08b68

      • form_helper #1803

      • html_helper #1803

      • number_helper #d08b68, #1803

      • security_helper #d08b68

      • text_helper #d08b68, #1803

      • url_helper #d08b68, #1803

      • xml_helper #1803

    • Honeypot/
      • Honeypot #1894

    • HTTP/
      • Header #1769

      • IncomingRequest #1831

    • Language/en/
      • Database #1829, #1861, #1902

    • Router/
      • RouteCollection #1769

      • Router #1839, #1882

    • Session/
      • Session #1769

    • Test/
      • ControllerTester #1769, #1848, #1855

      • DOMParser #1848

    • Validation/
      • FormatRules #1762, #1863

      • Rules #1791, #1814, #1818, #1862

      • Validation #1769

      • Views/list #1828

    • View/
      • Filters #1769

      • Parser #1769

      • View #1769, #1827

    • CodeIgniter #1769, #1804, #1590

    • Common #1802, #895ae0

    • ComposerScripts #1804

    • Controller #1769, #1850

    • Entity #1769, #1804

    • Model #1793, #1769, #1804, #1808, #1812, #1813, #1817, #1829, #1746, #1861

  • tests/system/
    • Cache/
      • Handlers/
        • FileHandlerTest #1796, #1895

        • MemcachedHandlerTest #1895

        • RedisHandlerTest #1895

      • CacheFactoryTest #1796

    • CLI/
      • CLITest #1910

    • Config/
      • BaseConfigTest #1811

      • ConfigTest #1811

    • Database/
      • Builder/EmptyTest #1902

      • Builder/SelectTest #1902

      • Live/ModelTest #1817, #1829, #1861

      • Live/WhereTest #1906

    • Events/
      • EventsTest #1867

    • HTTP/
      • ContentSecurityPolicyTest #1848

    • Router/
      • RouteCollectionTest #1822, #1912, #1913

    • Test/
      • ControllerTesterTest #1848, #1855

      • DOMParserTest #1848

    • Validation/
      • FormatRulesTest #1762

      • RulesTest #1791

    • View/
      • ViewTest #1827, #1836

    • ControllerTest #1850

  • user_guide_src/
    • cli/
      • cli_commands #1777

      • cli_library #1892, #1910

    • concepts/
      • services #1811

    • database/
      • examples #1794

    • dbmgmt/
      • forge #1844, #1899

      • migration #1860, #1865

    • extending/
      • basecontroller #1847

      • core_classes #1847

    • general/
      • common_functions #1802, #1895

    • helpers/
      • number_helper #d08b68

      • url_helper #1803

    • incoming/
      • routing #1908

    • libraries/
      • caching #1895

      • files #1790, #1854

      • pagination #1823

      • sessions #1843

      • validation #1814, #1828, #1862

    • models/
      • models #1817, #1820, #1829, #1746, #1861

    • outgoing/
      • view_layouts #1827

    • testing/
      • controllers #1848

병합된 PR

  • #1913 덮어쓰기에 대한 RouteCollection 테스트를 추가합니다. #1692를 닫습니다.

  • #1912 RouteCollection 테스트를 추가합니다.

  • #1910 CLI 라이브러리에 print 메서드를 추가하여 같은 줄에 여러 번 출력할 수 있습니다.

  • #1908 사용자 가이드에 필터 파라미터를 추가합니다.

  • #1906 #1775와 관련된 서브쿼리 테스트 케이스입니다.

  • #1902 BaseBuilder를 수정합니다.

  • #1900 보안 및 캐싱 개선을 위해 .htaccess를 업데이트합니다.

  • #1899 Database Forge를 수정합니다.

  • #1897 #1779와 관련된 Toolbar 수정입니다.

  • #1896 SSL 인증서와 관련된 MySQL 연결 문제입니다. (#1219)

  • #1894 오타를 수정합니다.

  • #1893 escapeshellarg()를 제거하여 spark serve를 수정합니다.

  • #1892 사용자 가이드에 CLI 배경색 목록을 추가합니다.

  • #1891 CLI::strlen에 null 파라미터를 허용합니다.

  • #1886 이슈 #1880을 수정하고, 오타 몇 가지를 수정하며 코드 스타일을 업데이트합니다.

  • #1882 #1541과 관련된 Router 변경사항입니다.

  • #1873-1889 문서: 네임스페이스 선언을 이동하고 누락된 클래스 docblock을 추가합니다.

  • #1872 문서: phpdoc 설정을 수정합니다.

  • #1871 일치하지 않는 Cache 라이브러리의 get()이 null을 반환합니다.

  • #1869 History::SetFiles 확인 #1778

  • #1863 모듈별 오타를 수정합니다.

  • #1861 #1619와 관련된 새로운 Find Column 메서드입니다.

  • #1860 MigrationRunner가 자동 로더를 사용합니다.

  • #1867 이제 Events가 모든 callable과 함께 실제로 작동해야 합니다. #1835를 수정합니다.

  • #1865 MigrationRunner의 정의 관련 문제를 해결합니다.

  • #1862 required_with 및 required_without 정의 변경사항입니다.

  • #1859 라우트 목록에서 콜백을 무시합니다.

  • #1858 DB 모듈의 오타를 수정합니다.

  • #1856 pre_system 이벤트에서 ob_get_level() > 0일 때 ob_end_flush()를 보장합니다.

  • #1855 수정: ControllerTester::execute. #1834를 수정합니다.

  • #1854 File::move가 이제 이동된 파일에 대해 새 파일 인스턴스를 반환합니다. #1782를 수정합니다.

  • #1851 오래된 CI3 .gitignore를 루트 CI4 버전으로 교체합니다.

  • #1850 라우팅 가능한 컨트롤러 메서드를 보안 처리합니다.

  • #1848 테스트: Test/ControllerTest를 수정하고 테스트합니다.

  • #1847 기본적으로 Controller가 BaseController를 확장합니다.

  • #1846 기여 링크를 수정합니다.

  • #1844 Model을 수정합니다.

  • #1843 CI3의 $this->input 참조를 교체합니다.

  • #1842 예외 ‘forPageNotFound’에 기본값이 누락되어 있습니다.

  • #1839 to 라우트에서 슬래시를 백슬래시로 교체하지 않습니다.

  • #1836 테스트: ViewView의 커버리지를 개선합니다.

  • #1831 일부 PHPDoc 주석 오류를 수정합니다.

  • #1829 개선: 이제 모델에는 기본 키가 필요합니다. 이는 코드를 유지하기 위한 부분적인 조치입니다…

  • #1828 수정: 유효성 검사 뷰에서 bootstrap 스타일을 제거합니다.

  • #1827 수정: 뷰 라이브러리에 include 메서드를 추가하여 뷰 부분 템플릿을 렌더링합니다…

  • #1823 문서: Pagination 클래스에서 레거시 Bootstrap 참조를 제거합니다.

  • #1822 테스트: RouteCollection 커버리지를 향상합니다.

  • #1820 수정: model.rst의 sphinx 오류를 수정합니다.

  • #1819 개선: phpDocumentor를 사용하여 API 문서를 위한 apibot을 추가합니다.

  • #1818 개선: exact_length 규칙의 코드를 개선합니다.

  • #1817 개선: Model에 setValidationMessage 함수를 도입합니다.

  • #895ae0 수정: 이전 명령어를 사용할 때마다 세션을 시작합니다.

  • #1814 개선: exact_length[1,3,5]를 확장합니다.

  • #1813 수정: 이전 PR들을 위한 Model::save수정입니다.

  • #1812 테스트: Filters 커버리지를 개선합니다.

  • #1811 테스트: Config 모듈 커버리지를 개선합니다.

  • #1809 파일 이동 실패를 수정합니다. #1785를 수정합니다.

  • #1808 수정: save 메서드의 반환값을 수정합니다.

  • #1805 문서: Query 클래스 변경사항입니다.

  • #1804 문서: 일부 기본 기능 변경사항입니다.

  • #1803 문서: 일부 헬퍼 변경사항입니다.

  • #1802 문서: 공통 함수를 수정합니다.

  • #1796 테스트: Cache 커버리지를 개선합니다.

  • #1794 존재하지 않는 “getAffectedRows”를 교체합니다.

  • #1793 Model->chunk의 반환 타입을 설정합니다.

  • #1791 수정: ValidationRules에서 is_numeric 테스트를 제거합니다.

  • #d08b68 ControllerTester에서 누락된 UserAgent를 수정합니다.

  • #1790 이슈 #1781에서 언급된 문서의 오타를 수정합니다.

  • #1777 예제에 CLI 네임스페이스를 추가합니다.

  • #1776 수정: 필드 이름에서 마지막 연산자만 교체합니다.

  • #1771 수정: matchSimpleBinds의 오타를 수정합니다.

  • #1769 메서드 및 철자를 수정합니다.

  • #1762 수정: decimal 규칙. 정수를 허용해야 하지 않습니까?

  • #1746 개선: created_at / updated_at 필드를 선택적으로 업데이트하도록 Model을 업데이트합니다.

  • #1590 개선: 404Override를 개선합니다.