バージョン 4.0.0-beta.2

リリース日:2019年4月4日

ハイライト

  • 多数のバグ修正と改善が行われ、特にモデルとテストクラスが改善されました。

  • モデルには、プライマリキーが必要になりました。

  • 生成された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 RouteCollectionTestsを追加しました。

  • #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 ドキュメント:名前空間宣言を移動し、不足しているクラスのdocblocksを追加しました。

  • #1872 ドキュメント:phpdocの設定を修正しました。

  • #1871 一致しないCache Library `get()`がnullを返します。

  • #1869 History::SetFilesチェック #1778

  • #1863 モジュールごとのタイプミス変更。

  • #1861 #1619に関する新しいメソッドFind Column。

  • #1860 Migrationrunnerがオートローダーを使用します。

  • #1867 イベントは、任意の呼び出し可能オブジェクトで動作するようになりました。#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 デフォルトでBaseControllerにControllerを拡張しました。

  • #1846 貢献リンクを修正しました。

  • #1844 モデルの修正。

  • #1843 古いCI3の$this->input参照を置き換えました。

  • #1842 例外「forPageNotFound」にデフォルト値がありません。

  • #1839 ルーティング時にスラッシュをバックスラッシュに置き換えません。

  • #1836 テスト:ViewViewの網羅性を向上させました。

  • #1831 一部のPHPDocコメントのエラーを修正しました。

  • #1829 改善:モデルにはプライマリキーが必要になりました。これは部分的にコードを…

  • #1828 修正:バリデーションビューからブートストラップスタイルを削除しました。

  • #1827 修正: ビューパーシャル…ビューをレンダリングするためのincludeメソッドをViewライブラリに追加

  • #1823 ドキュメント: ページネーションクラスからレガシーなBootstrapの参照を削除

  • #1822 テスト: RouteCollectionのテストカバレッジを向上

  • #1820 修正: model.rstのスフィンクスエラーを修正

  • #1819 改良: phpDocumentorを使用したAPIドキュメントのためのapibotを追加

  • #1818 改良: exact_lengthルールでのコード改善

  • #1817 改良: ModelのsetValidationMessage関数を導入

  • #895ae0 修正: 古いコマンドを使用するたびにセッションを開始

  • #1814 機能強化: exact_length[1,3,5]を拡張

  • #1813 修正: 以前のPRに対するModel::saveの修正

  • #1812 テスト: フィルターのテストカバレッジを向上

  • #1811 テスト: Configモジュールのテストカバレッジを向上

  • #1809 ファイル移動に失敗した問題を修正。#1785を修正

  • #1808 修正: saveメソッドの戻り値を修正

  • #1805 ドキュメント: Queryクラスの変更

  • #1804 ドキュメント: 基本的な機能の変更点

  • #1803 ドキュメント: ヘルパーの変更点

  • #1802 ドキュメント: 共通関数の修正

  • #1796 テスト: キャッシュのテストカバレッジを向上

  • #1794 存在しない"getAffectedRows"を置換

  • #1793 Model->chunkの戻り値の型を設定

  • #1791 修正: ValidationRulesにおけるis_numericテストを削除

  • #d08b68 ControllerTesterにおけるUserAgentの欠落を修正

  • #1790 Issue #1781で指摘されたドキュメントのタイプミスを修正

  • #1777 例にCLI名前空間を追加

  • #1776 修正: フィールド名の最後の演算子のみを置換

  • #1771 修正: matchSimpleBindsのタイプミスを修正

  • #1769 メソッドとスペルの修正

  • #1762 修正: decimalルール。整数を許可すべきではないか?

  • #1746 改良: Modelを更新し、created_at/updated_atフィールドを選択的に更新

  • #1590 改良: 404Overrideを強化