CodeIgniter-ライブラリ
CodeIgniterフレームワークの重要な部分は、そのライブラリです。豊富なライブラリセットを提供し、アプリケーションの開発速度を間接的に向上させます。システムライブラリはsystem / librariesにあります。使用するライブラリをロードするだけです。ライブラリは以下のようにロードできます-
$this->load->library('class name');
どこ class nameロードするライブラリの名前です。複数のライブラリをロードする場合は、配列を引数として渡すだけです。library() 以下のように機能します−
$this->load->library(array('email', 'table'));
ライブラリクラス
ライブラリクラスはにあります system/libraries。各クラスには、開発作業を簡素化するためのさまざまな機能があります。次の表に、ライブラリクラスの名前とその説明を示します。
SN | ライブラリのクラスと説明 |
---|---|
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 このクラスは、ビューファイル、ドライバー、ヘルパー、モデルなどの要素をロードします。 |
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 タイポグラフィクラスは、テキストのフォーマットに役立つメソッドを提供します。 |
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 */
Loading the Custom Library
上記のライブラリは、コントローラで次の行を実行するだけでロードできます。
$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 class、次に示すコードを使用します。でファイル名を保存しますEmail.php にクラス名を付けます CI_Email。
Email.php
Class CI_Email {
}