1.CodeIgniterについて
CodeIgniterはPHPを使用してWebアプリケーションを構築する人向けのフレームワークです。
シンプルなフレームワークを設計思想としているので、フレームワークの構成が分かりやすいものになっています。
2.CodeIgniterの特徴
・ソースが軽量でパフォーマンスが良い
デフォルトのソースが約1.2Mと軽量で、多くのリソースが必要なフレームワークと比べて動作が高速です。
・MVCモデルを採用
MVCとはModel、View、Controllerの略です。
MVCモデルを採用することにより独立性の確保、依存性の抑制、保守性の向上といったメリットがあります。
それぞれの役割は下記の通りです。
Modelはビジネスロジックなどを処理するシステムの中核です。
Viewはデータや図を表現するビューアです。
ControllerはModelとViewを制御し入出力を行います。
・ライブラリが豊富
データベースアクセスやデータの検証、セッションの維持、ページャなどWeb開発に必要なライブラリが豊富です。
・コマンドライン操作が不要
他のフレームワークと違いコマンドライン操作が不要です。
・システム拡張が可能
ヘルパー関数、クラスの継承やシステムフックにより簡単に拡張することができます。
・コーディング規約が緩い
他のフレームワークと比べて規約や制限が比較的少なくコーディングに自由度があります。
・テンプレートエンジンが利用可能
オプションで利用可能なテンプレートパーサが備わっていてPHPより簡単に書くことができます。
例えば「<?=$name?>」は「{$name}」といった書き換えができます。
・セキュリティ機能
クロスサイトスクリプティング対策、SQLインジェクション対策を行える機能を備えています。
※クロスサイトスクリプティングとはWebサイトの出力処理に不備があったとき、悪意のあるスクリプトを実行されてしまう脆弱性のことです。
※SQLインジェクションとはSQL処理のセキュリティ上の不備を利用して、データベースを不正に操作する攻撃のことです。
3.サーバ必要条件
PHPのバーション5.1.6 以上をサポートしてます。
データベースはMySQL (4.1+)、MySQLi、MS SQL、Postgres、Oracle、SQLite、ODBCをサポートしています。
4.CodeIgniterのライセンス
CodeIgniterのライセンスはバージョン2.x系までと3.x系ではライセンスが異なります。※3.x系は現在開発中です。
2.x系まではCodeIgniterライセンスが適用されています。
CodeIgniterライセンスはBSDスタイルのライセンスです。
CodeIgniterライセンスの使用許諾条件は以下の通りです。
・このライセンスは無保証です。
・「配布パッケージ」「ソースコードの再配布」「バイナリ形式での再配布」「変更した全てのファイル」「派生物」には著作権や変更通知などを記述しなければなりません。
3.x系はOpen Software License(以下OSL) 3.0とAcademic Free License(以下AFL) 3.0が適用されるようです。
OSL 3.0の使用許諾条件は以下の通りです。
・オリジナルに基づいて派生物を作成することができます。
・オリジナルや派生物などを配布・公開する場合はライセンスをOSLにしなければなりません。
AFL 3.0の使用許諾条件は以下の通りです。
・オリジナルに基づいて派生物を作成することができます。
・オリジナルや派生物などを配布・公開する場合は契約条件と矛盾しない任意ライセンスを選ぶことができます。
※3.x系のライセンス適用箇所については「参考サイト」の「たった3分で「Fuel PHP&CodeIgniter」の最新動向が理解できる。」を参照してください。
5.最後に
上記の特徴を考えると、大規模開発には向いていないが、小規模開発には向いているフレームワークだと言えます。
安価なレンタルサーバでも動作します。
低い学習コストで開発したい方や、安価なレンタルサーバで小規模アプリを運用したい方におすすめです。
この機会に検討されてみてはいかがでしょうか。
<参照URL>
・CodeIgniter
・CodeIgniter 日本語
・PHPコーディング規約まとめ
・2014年2月PHPフレームワークのトレンド
・CodeIgniterライセンス
・CodeIgniterのライセンス変更について
・OSL 3.0
・OSL 3.0: A Better License for Open Source Software
・AFL 3.0
・たった3分で「Fuel PHP&CodeIgniter」の最新動向が理解できる。
・クエリ文字列
・クロスサイトスクリプティング
・SQLインジェクション
システム構築に関してのご依頼、ご質問等がある場合は弊社ホームページ上のお問い合わせフォームもしくは下記連絡先までお問い合わせ下さい。
株式会社ヴィンテージ
TEL:093-513-7255