PHP コミュニティが成熟し、PHP 7 が正式にリリースされるにつれ、多くの人に愛されているフレームワーク CodeIgniter も大きな変更が必要な時期を迎えています。今日は次世代フレームワーク CodeIgniter 4 を紹介する記事をお届けします。
プレビューとして、CodeIgniter 4 を詳しく紹介する記事を今後も公開していきます。新世代フレームワークが異なる開発体験をもたらすことを願っています。
PS: 現時点では、CI4 は開発中であり、まだリリースされていません。
コミュニティの要望や意見を総合的に考慮した上で、私たちには将来に対する明確なビジョンもあり、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クラス、単体テストクラス、トラックバッククラスが削除されます。
基本的なカーネルを備えたアルファ版を 1 年以内に完成させたいと考えています。その後、カーネルの改善と残りのパッケージの開発に焦点を当てます。ほとんどのオープンソース プロジェクトと同様、コミュニティの貢献の量と質、およびコア開発者の時間とエネルギーに依存するため、正確なスケジュールは異なる場合があります。
最初のフェーズでは、フレームワークの最も重要な部分を理解することに焦点を当てます。これがフレームワークの残りの部分の基礎になります。それらには次のものが含まれます:
第 2 フェーズは、CodeIgniter ユーザーが望むいくつかのクラスと機能の改善に焦点を当てています。
第 3 フェーズは、主にオプションのソフトウェア パッケージを拡張するために使用されます。この時点で、すべてのライブラリの準備が整うのを待たずに、フレームワークをリリースする準備ができているはずです。
私たちは、フレームワークがもたらした新しい機会に興奮しており、フレームワークが新しいバージョンに向けて最初の一歩を踏み出すのを待ちきれません。傍観するのをやめて、フレームワークの未来を構築しましょう。
************************ 分割線*************** *********
CodeIgniter China WeChat 公式アカウントをフォローして、CodeIgniter 4 の最新記事を誰よりも早く読みましょう。
Hex 中国人コミュニティのリーダーとして、私はそれを理解しており、あなたの努力に感謝しています。