data-id="1190000004868218">
コミュニティの要望や意見を総合的に考慮した上で、どのような将来が CI に適しているのかについても検討しました。その後、CI 評議会でフレームワークの将来についていくつかの決定が行われました。 。 意思決定。プレビューとして、将来的には大きな変更が加えられる予定ですが、それらは将来への備えとなるだけでなく、CodeIgniter の一貫した特性であるシンプルさ、スピード、柔軟性も維持されると考えています。
この記事は将来についての簡単な概要です。これは単なる初期計画であることに注意してください。開発の進行に伴い、情報は変更される可能性があります。
コアの変更点
CodeIgniter の最初のバージョンがリリースされて以来、PHP コミュニティは劇的に変化しました。 CodeIgniter のコア要素の多くは当時必要でしたが、PHP5 がリリースされたとき、CodeIgniter のコアはほとんど何も変更されませんでした。 CodeIgniter が今後も高いレベルでパフォーマンスを維持し、PHP フレームワークの中での地位を確立したい場合は、大きな変更が必要です。
これは、システムを完全に書き直す必要があることを意味します。コードの明瞭さを維持するために、新しい CI は別のコード ベースで開発されます。以前のコードを再利用することを想定していますが、最新のクリーンなコードに重点を置きます。
私たちは PHP 7 をターゲットにしているため、PHP 5.6 はセキュリティ メンテナンス モードに入り、数か月以内に完全に廃止される予定です。 CI は、サポートが終了する PHP バージョンの新しいバージョンをリリースしません。ホスト環境は大きく異なり、一部のプログラムは PHP 7 を完全にはサポートしていない可能性があるため、3.x ブランチはしばらく維持されます。これは、3.x の終了後の 2.x ブランチの EOL 期間よりもはるかに長くなります。解放されました。
アプリケーション ディレクトリとシステム ディレクトリの両方が PSR-4 自動ロードをサポートします。 CodeIgniter は独自のオートローダーを使用し、Composer と統合します。
ほとんどの場合、CodeIgniter 以外のプロジェクトで使用できるように、いくつかのコンポーネントをカプセル化します。
パッケージ/モジュール
アプリケーションのパッケージやモジュールの概念を捨てます。パニックになる必要はありません。なぜなら、名前空間を使用すると、少なくともコントローラーとモデルについては、ほとんどの状況に対処できるからです。ビュー、構成ファイル、ヘルパーなどのその他のものも、名前空間をサポートできるようにできると考えています。また、オートローダーにそれらの検索方法を指示することで、すべてのパッケージ機能とモジュール ルーティング機能を任意のディレクトリに配置することもできます。
ルーティング
ルーティング機能が更新されます。 URI をコントローラー/メソッドに直接マッピングする「マジック ルーティング」機能をオフにして、好みのルーティング方法を選択できるようにすることができます。ルーティング設定ファイルでは、「マジック ルーティング」を使用するか、各ルートを個別に指定するかを選択できます。
ログシステムの改善
ログシステムは改善される予定ですが、具体的な内容はまだ決まっていません。
テスト
テストには引き続き PHPUnit を使用します。これは、アプリケーションを自分でテストする必要があることも意味しますが、必要なツールは提供されます。
下位互換性
上で述べたように、これは古いバージョンと互換性のないバージョンである必要があります。私たちは、これがこのフレームワークにとって最良の未来であるべきだと考えています。私たちは長年にわたってこの大きな変更の基礎を築いてきました。移行をできるだけスムーズに行えるよう努めますが、提供できるコード ベースがどの程度最新化されるかはまだわかりません。
私たちは、CodeIgniter を長年にわたって人気を博してきた機能、つまり高速、シンプル、そして「エレガント」を維持するために最善を尽くします。
開発スケジュール
開発プロセス全体は 3 つのフェーズに分かれています。
次のクラス ライブラリはカーネルから削除され、オンデマンドでダウンロードされます: 植字クラス、FTP クラス、ZIP クラス、および XML-RPC クラス。
ショッピングカートクラス、JavaScriptクラス、単体テストクラス、Trackbackクラスが削除されます。
基本的なカーネルを備えたアルファ版は 1 年以内に完成する予定です。その後、カーネルの改善と残りのパッケージの開発に焦点を当てます。ほとんどのオープンソース プロジェクトと同様、コミュニティの貢献の量と質、およびコア開発者の時間とエネルギーに依存するため、正確なスケジュールは異なる場合があります。
フェーズ 1
最初のフェーズでは、フレームワークの最も重要な部分を理解することに焦点を当てます。これがフレームワークの残りの部分の基礎になります。それらには次のものが含まれます:
オートローダー
依存関係の注入
ロギング
例外処理
HTTPリクエスト/レスポンスレイヤー(または入力/出力)
ルーティング
コントローラー
モデル
データベース層
構成
セキュリティ
第2フェーズ
第2フェーズの焦点は、CodeIgniterユーザーが利用できるいくつかのクラスと機能を改善することです見るのが大好きです。
ヘルパー
言語/国際化機能
キャッシュ
メール
暗号化
フォーム検証
画像処理ライブラリ
ページネーション
クラスのアップロード
セッション
View
デバッグおよび分析ツール
第3フェーズ - オプションのクラスライブラリ
第3フェーズは主にオプションのソフトウェア Bag を拡張するために使用されます。この時点で、すべてのライブラリの準備が整うのを待たずに、フレームワークをリリースする準備ができているはずです。
FTP
XML-RPC
Zip
Typesetting Class
Template Parser
が到来し、熱望していますフレームワークは新しいバージョンに向けて最初の一歩を踏み出します。傍観するのをやめて、フレームワークの未来を構築しましょう。
上記では、CodeIgniter のコンテンツを含む CodeIgniter 4 の推奨ロードマップを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。