Codeigniter-libraries
CodeIgniter-ライブラリ
CodeIgniterフレームワークの重要な部分はそのライブラリです。 ライブラリの豊富なセットを提供し、アプリケーションの開発速度を間接的に向上させます。 システムライブラリはsystem/librariesにあります。 必要なのは、使用したいライブラリをロードすることだけです。 ライブラリは以下に示すようにロードすることができます-
$this->load->library('class name');
*class name* は、ロードするライブラリの名前です。 複数のライブラリをロードする場合は、以下に示すように、* library()*関数に引数として配列を渡すだけです-
$this->load->library(array('email', 'table'));
ライブラリクラス
ライブラリクラスは system/libraries にあります。 各クラスには、開発作業を簡素化するためのさまざまな機能があります。 次の表に、ライブラリクラスの名前とその説明を示します。
以下は、最も一般的に使用されるライブラリクラスです。
S.N. | Library Class & Description |
---|---|
1 |
Benchmarking Class ベンチマーククラスは常にアクティブで、マークされた2つのポイント間の時間差を計算できます。 |
2 |
Caching Class このクラスはページをキャッシュして、ページ速度にすばやくアクセスします。 |
3 |
Calendaring Class このクラスを使用すると、カレンダーを動的に作成できます。 |
4 |
Shopping Cart Class このクラスを使用すると、ショッピングカートにアイテムを追加または削除できます。 アイテムはセッションに保存され、ユーザーがサイトを閲覧するまでアクティブのままになります。 |
5 |
Config Class このクラスを使用して、構成設定を取得できます。 このクラスは自動的に初期化されます。 |
6 |
Email Class このクラスは、メールの送信や返信などのメール関連機能を提供します。 |
7 |
Encryption Class このクラスは、双方向のデータ暗号化機能を提供します。 |
8 |
File Uploading Class このクラスは、ファイルのアップロードに関連する機能を提供します。 アップロードするファイルの種類、ファイルのサイズなど、さまざまな設定を設定できます。 |
9 |
Form Validation Class このクラスは、フォームを検証するためのさまざまな機能を提供します。 |
10 |
FTP Class このクラスは、ファイルを転送してサーバーを削除したり、サーバー上のファイルを移動、名前変更、削除するなど、さまざまなFTP関連機能を提供します。 |
11 |
Image Manipulation Class このクラスの助けを借りて、サイズ変更、サムネイルの作成、トリミング、回転、透かしなどの画像の操作を行うことができます。 |
12 |
Input Class このクラスは、セキュリティ上の理由から入力データを前処理します。 |
13 |
Language Class このクラスは国際化に使用されます。 |
14 |
Loader Class このクラスは、Viewファイル、ドライバー、ヘルパー、モデルなどの要素をロードします。 |
15 |
Migrations Class このクラスは、データベースの移行に関連する機能を提供します。 |
16 |
Output Class このクラスは、出力をブラウザに送信し、そのWebページをキャッシュします。 |
17 |
Pagination Class このクラスは、ページネーション機能をWebページに追加します。 |
18 |
Template Parser Class テンプレートパーサークラスは、ビューファイル内に含まれる擬似変数の単純なテキスト置換を実行できます。 単純な変数または変数タグのペアを解析できます。 |
19 |
Security Class このクラスには、XSSフィルタリング、CSRFなどのセキュリティ関連の機能が含まれます。 |
20 |
Session Library このクラスは、アプリケーションのセッションを維持する機能を提供します。 |
21 |
HTML Table このクラスは、配列またはデータベースの結果からHTMLテーブルを自動生成するために使用されます。 |
22 |
Trackback Class トラックバッククラスは、トラックバックデータを送受信できる機能を提供します。 |
23 |
Typography Class Typographyクラスは、テキストのフォーマットを支援するメソッドを提供します。 |
24 |
Unit Testing Class このクラスは、アプリケーションを単体テストし、結果を生成する機能を提供します。 |
25 |
URI Class URIクラスは、URI文字列から情報を取得するのに役立つメソッドを提供します。 URIルーティングを使用する場合、再ルーティングされたセグメントに関する情報も取得できます。 |
26 |
User Agent Class ユーザーエージェントクラスは、ブラウザ、モバイルデバイス、またはサイトにアクセスしているロボットに関する情報の識別に役立つ機能を提供します。 さらに、リファラー情報、言語、およびサポートされている文字セット情報を取得できます。 |
27 |
XML-RPC and XML-RPC Server Classes CodeIgniterのXML-RPCクラスを使用すると、リクエストを別のサーバーに送信したり、独自のXML-RPCサーバーをセットアップしてリクエストを受信したりできます。 |
28 |
Zip Encoding Class このクラスは、データのzipアーカイブを作成するために使用されます。 |
ライブラリを作成する
CodeIgniterには system/libraries フォルダーにある豊富なライブラリーセットがありますが、CodeIgniterはシステムライブラリーに限定されず、 application/libraries フォルダーに保存できる独自のライブラリーも作成できます。 ライブラリは3つの方法で作成できます。
- 新しいライブラリを作成
- ネイティブライブラリを拡張する
- ネイティブライブラリを置き換える
新しいライブラリを作成
新しいライブラリを作成する際には、次の点に留意する必要があります-
ファイルの名前は大文字で始める必要があります。 Mylibrary.php
クラス名は大文字で始まる必要があります。 クラスMylibrary
クラスの名前とファイルの名前は一致する必要があります。
*Mylibrary.php*
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Mylibrary {
public function some_function() {
}
}
/*End of file Mylibrary.php*/
カスタムライブラリの読み込み
上記のライブラリは、コントローラで次の行を実行するだけでロードできます。
$this->load->library(‘mylibrary’);
mylibraryはライブラリの名前であり、大文字でも小文字でも記述できます。 「.php」拡張子なしでライブラリの名前を使用します。 ライブラリをロードした後、以下に示すようにそのクラスの関数を呼び出すこともできます。
$this->mylibrary->some_function();
ネイティブライブラリを拡張する
CodeIgniterが提供するライブラリに独自の機能を追加する必要がある場合があります。 CodeIgniterは、ネイティブライブラリを拡張し、独自の機能を追加できる機能を提供します。 これを実現するには、ネイティブライブラリクラスのクラスを拡張する必要があります。 たとえば、メールライブラリを拡張する場合は、以下に示すように行うことができます-
Class MY_Email extends CI_Email {
}
ここで、上記の例では、MY_EmailクラスはネイティブライブラリのメールクラスCI_Emailを拡張しています。 このライブラリは、電子メールライブラリをロードする標準的な方法でロードできます。 上記のコードをMy_Email.phpファイルに保存します
ネイティブライブラリを置き換える
状況によっては、ネイティブライブラリを機能する方法で使用したくない場合や、独自の方法に置き換えたい場合があります。 これは、ネイティブライブラリを置き換えることで実行できます。 これを実現するには、ネイティブライブラリで名前が付けられているのと同じクラス名を付けるだけです。 たとえば、* Emailクラス*を置き換える場合は、以下に示すコードを使用します。 Email.php でファイル名を保存し、 CI_Email にクラス名を付けます。
*Email.php*
Class CI_Email {
}