CodeIgniter検討メモ 項目8--CI補助機能

黄舟
リリース: 2016-12-29 10:31:53
オリジナル
1231 人が閲覧しました

補助機能は、特定のタスクを完了するのに役立つ機能です。各ヘルパー関数ファイルは単なる関数のコレクションです。たとえば、URL ヘルパーはリンクの作成に役立ち、フォーム ヘルパーはフォームの作成に役立ち、テキスト ヘルパーは一連の書式設定された出力メソッドを提供し、Cookie ヘルパーは COOKIE の設定と読み取りに役立ち、ファイル ヘルパーはファイルの処理に役立ちます。他の部分とは異なり、補助関数はクラスに実装されません。これらは単なる単純な手続き型の処理関数です。 各ヘルパー関数は特定のタスクを処理するため、他の関数に依存する必要はありません。

CodeIgniter はデフォルトでは補助関数ファイルをロードしないため、補助関数を使用したい場合は最初にそれをロードする必要があります。ロードされると、ヘルパー関数はグローバルに使用できるようになります。ヘルパー関数ファイルは通常、system/helpers
または application/helpers フォルダーに保存されます。 CodeIgniter は、まず application/helpers
で対応するヘルパー関数ファイルを探します。ディレクトリが存在しない場合、またはディレクトリ内に対応するヘルパー関数ファイルがない場合、CI は system/helpers の下にヘルパー関数ファイルをロードします。

ヘルパー関数のロードは非常に簡単です:

[code]$this->load->helper('name');
ログイン後にコピー

name はヘルパー関数ファイルの名前です (.php 接尾辞と「helper」部分を除いたもの)。

たとえば、url_helper.php
という名前の URL ヘルパー ファイルをロードするには、次のステートメントを使用します:

[code]$this->load->helper('url');
ログイン後にコピー

使用するヘルパー関数ファイルをロードしたら、標準の関数呼び出しメソッドを使用できます。内部の関数を使用します。

たとえば、anchor() 関数を使用してリンクを作成するには、View ファイルで次のようにすることができます:

[code]<?php echo anchor(&#39;blog/comments&#39;, &#39;Click Here&#39;);?>
ログイン後にコピー

"Click Here" はリンクの名前、"blog/comments" は URI です。リンクの。

オリジナルのヘルパーを「拡張」したい場合は、application/helpers/ ディレクトリに新しいヘルパーを作成できます。新しいヘルパーの名前は、「拡張された」ヘルパーの名前の先頭に追加の MY_ を追加します。ヘルパーさん、こちら カスタム プレフィックスを設定するには、application/config/config.php
ファイルを開いて次のエントリを見つけてください:

[code]$config[&#39;subclass_prefix&#39;] = &#39;MY_&#39;;
ログイン後にコピー

それを追加するだけの場合。 1 つまたは 2 つの新しいメソッドの追加やメソッドの変更など、一部の新しい関数は、独自のヘルパーを書き直す価値はありません。この場合、既存のヘルパーを「拡張」する方が良いでしょう。ヘルパーのメソッドは手続き型で個別であり、従来の言語環境では「拡張」できないため、ここでは「拡張」という言葉はあまり適切ではありません。ただし、CodeIgniter ではヘルパー メソッドを追加または変更できます。

たとえば、ローカルの既存の配列ヘルパーを拡張するには、application/helpers/MY_array_helper.php
というファイルを作成し、いくつかのメソッドを追加または書き換え(オーバーライド)する必要があります:

[code]// any_in_array() is not in the Array Helper, so it defines a new function
function any_in_array($needle, $haystack)
{
    $needle = (is_array($needle)) ? $needle : array($needle);
    foreach ($needle as $item)
    {
        if (in_array($item, $haystack))
        {
            return TRUE;
        }
    }
    return FALSE;
}
// random_element() is included in Array Helper, so it overrides the native function
function random_element($array)
{
    shuffle($array);
    return array_pop($array);
}
ログイン後にコピー

上記はCodeIgniterの学習メモです。項目 8 -- CI 補助関数の内容 関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート