CodeIgniterにおけるHelperとLibraryの主な違いは、Helperは特定のカテゴリの関数群を持つファイルで、オブジェクト指向で書かれていないのに対し、Libraryはそのクラスのインスタンスを作成できる関数群を持つクラスで、オブジェクト指向で書かれていることです。
一般的に、CodeIgniterはModel, View and Controller (MVC) デザインパターンに基づいたPHPフレームワークです。
このアプローチでは、モデルはビジネスロジックを表し、ビューはユーザーインターフェイスを表し、コントローラは入ってくるリクエストを管理します。
さらに、開発者はCodeIgniterを使用して、コントローラ、モデル、ビューのモジュールグループを維持することができます。
全体として、CodeIgniterは、アプリケーションの開発とデプロイを可能にする明確なドキュメントを持つ軽量のフレームワークです。
CodeIgniter の Helper とは?
ヘルパーは、特定のカテゴリの関数のセットを持つファイルです。
これらのヘルパーは、オブジェクト指向のフォーマットで書かれているわけではありません。
その代わり、単純な手続き型関数です。
さらに、ヘルパーは他の関数に依存せず、ある特定のタスクだけを実行します。
ヘルパーを使用するには、それをロードする必要があります。
その後、コントローラやビューで使用できるようになります。
通常、ヘルパーは system/helpers あるいは application/helpers ディレクトリで利用可能です。
CodeIgniterは、まずapplication/helperディレクトリをチェックします。
そのディレクトリが存在しないか、指定されたヘルパーが存在しない場合、CodeIgniterはグローバルなsystem/helpers/ディレクトリをチェックします。
CodeIgniterで利用できるヘルパーには、様々な種類があります。
Array Helperは、配列に対する操作を実行するために必要な関数で構成されています。
Cookieヘルパーは、Cookieを操作するために必要な関数が含まれています。
Directory ヘルパーはディレクトリを操作するための関数、File ヘルパーはファイルにアクセスするための関数です。
URLヘルパーはURLを操作するための関数からなり、XMLヘルパーはXMLデータを操作するための関数を持っています。
さらに、文字列ヘルパー、HTMLヘルパー、フォームヘルパー、テキストヘルパーがあり、それぞれ文字列、HTML、フォーム、テキストに対する操作をサポートしています。
CodeIgniter のライブラリとは?
ライブラリとは、そのクラスのインスタンスを作成することができる関数やメソッドを持つクラスのことです。
CodeIgniterでは、アプリケーションの開発速度を向上させるための重要な機能です。
ライブラリはsystem/libraries/ディレクトリに配置されます。
もしプログラマーが別のライブラリを使いたい場合は、それを作成することができます。
作成されたライブラリは、application/librariesフォルダに格納されます。
このように、このテクニックは、ローカルとグローバルなフレームワークのリソースを分離するのに役立ちます。
一般的なライブラリは、以下のとおりです。
カレンダリングクラスは、カレンダを動的に作成することができ、暗号化クラスは、データの双方向暗号化を提供します。
FTPクラスはリモートサーバーへのファイル転送を支援し、セキュリティクラスは安全なアプリケーションを作成するためのメソッドを含んでいます。
また、言語クラスには言語ファイルを取得するための関数があり、マイグレーションクラスはデータベースを簡単に変更することができる。
さらに、ネイティブライブラリに何らかの機能を追加することも可能である。
例えば、プログラマーが1つか2つのメソッドをネイティブライブラリに追加した場合、オリジナルのライブラリは新しいバージョンに置き換えられてしまう。
したがって、クラスを拡張した方がよい。
さらに、新しいファイル名とクラス名をネイティブと同じにすると、CodeIgniterが新しいものにアクセスするようになります。
したがって、ファイルやクラスの宣言はネイティブのライブラリと同じにする必要があります。
CodeIgniterにおけるヘルパーとライブラリの違い
定義
ライブラリは、プロセスを補助するために使用できるメソッドの集合体です。
これに対してHelperは、system/helpersやapplications/helpersといったフォルダに配置された関数の集合体です。
主な相違点
このように、CodeIgniterにおけるHelperとLibraryの大きな違いは、Helperが特定のカテゴリの関数群を持つファイルであるのに対し、Libraryはそのクラスのインスタンスを生成するための関数群を持つクラスであることです。
フォーマット
さらに、CodeIgniterにおけるヘルパーとライブラリのもうひとつの重要な違いは、ライブラリがオブジェクト指向で書かれているのに対して、ヘルパーはオブジェクト指向で書かれていないことです。
例
文字列ヘルパー、ファイルヘルパー、クッキーヘルパー、UMLヘルパー、フォームヘルパー、HTMLヘルパーなどがヘルパーの例で、カレンダークラス、暗号化クラス、FTPクラス、セキュリティクラス、言語クラス、マイグレーションクラスがマイグレーションの例です。
結論
簡単に説明すると、CodeIgniterではHelperとLibraryという2つの概念があります。
CodeIgniterにおけるHelperとLibraryの主な違いは、Helperは特定のカテゴリの関数群を持つファイルで、オブジェクト指向形式で書かれていないのに対し、Libraryはそのクラスのインスタンスを作成するための関数群を持つクラスで、オブジェクト指向形式で書かれていることです。