違いについて話す前に、バージョン3のリリースからバージョン3までの間に何が起こったかについて少し知る必要があります。
CodeIgniter 3の最初の安定版のリリースとCodeIgniter 4のリリースの間に、より正確になるまでに約5年1767日かかりました。
その間にインターネット上で多くの変化があり、8バージョンのPHPがリリースされ、他のいくつかのPHPフレームワークが登場し、すでに市場に出ているものは更新されていました。
一方、CodeIgniterは、主要なPHPフレームワークの1つから最も古くなったものの1つになるまで遅れをとっていました。しかし、すべてが失われたわけではなく、CodeIgniterの開発を主に担当していたEllisLabがバトンをBCITに渡し、Jim Perry(メモリアル)の仕事と信じられないほど献身的なコミュニティのおかげで、CodeIgniterが登場し始め、バージョン4 2018年9月28日に最初のアルファ版を獲得しました。
ジムペリーの誕生日となる2020年2月24日、CodeIgniter 4が発売されました。彼は、他の既存のフレームワークと競合するための条件を備え、フレームワークを市場に戻すことにかなりの時間を費やした専門家に敬意を表して発売されましたリソースとPHP自体に関連してさらに更新されました。
バージョン間の違い
CodeIgniter 4は3とは非常に異なり、以下では主な違いについて少し説明します。
CodeIgniter 4を使用するために必要な最小PHPバージョンは7.2ですが、CodeIgniter 3ではバージョン5.6(すでに完全に廃止されています)から使用できます。
ファイル構造は完全に異なります。CodeIgniter 4の構造は、5つのディレクトリ/ app ,
/ system ,
/ public ,
/ writable ,
/ tests . While CodeIgniter 3 is organized in 2 directories:
/ application and
/ system`で構成されています。
CodeIgniter 3は名前空間を使用しませんが、CodeIgniter 4は完全にPHP 7で記述されており、名前空間を使用します。
CodeIgniter 4には、より効率的なオートロードプロセスがあり、名前空間の使用が役立つ要因の1つです。CodeIgniter 3では、ロードするファイルのほとんどを手動で構成する必要があります。
CodeIgniter 4は、テーブルの既存の列を表す、アプリケーションのデータベース部分の構造化に役立つエンティティ(エンティティ)の使用をネイティブでサポートしています。CodeIgniter 3にはこの機能がありませんでした。それを使用する必要がある人は、サードパーティのライブラリを使用し、それをサポートするためにファイルのアップロードを調整する必要がありました。
CodeIgniter 4は、PHP 7を書面で使用したり、サーバーの最小構成として使用したりするために、CodeIgniter 3よりも優れたパフォーマンスを発揮します。
CodeIgniter 3とは異なり、この新しいバージョンでは、PEARスタイルのモノリシックライブラリの使用はほとんどありません。
CodeIgniter 4では、アプリケーションの実行を開始するための初期設定は最小限ですが、CodeIgniter 3では、多数の構成を実行する必要がありました。
CodeIgniter 4は.envファイルをネイティブでサポートしており、実行されているさまざまな環境(本番、テスト、開発)の設定を最適化できます。この機能は、CodeIgniter 3には本来存在しませんでした。
CodeIgniter 4には下位互換性がないため、アプリケーションをバージョン3からバージョン4に更新するプロセスには少し手間がかかりますが、それほど複雑ではありません。
バージョン2.xから3.xへの移行、および異なるバージョン3.xへの移行は、/system
ディレクトリ内のファイルを上書きし、一部のファイルの名前を更新するだけでしたが、バージョン3から4へは、アプリケーションに新しい構造が必要です。そして、新しい標準に適応するために、その中で使用されているすべてのクラスの書き換え。
これらは、CodeIgniterのバージョン3と4の主な違いの一部です。制作中のCodeIgniter 4に関する多くのコンテンツがあるので、今後も注目してください。