互換関数

CodeIgniter では互換関数のセットを提供します。 PHP でネイティブに提供しているものの、より新しいバージョンでのみで対応であったり、 特定のエクステンションに依存するような関数を使えるようにするものです。

独自実装しているため、 これらの関数自身もほかのものに依存する場合もありますが、 それでもまだ PHP 環境がそれらを提供していないままであるよりは便利でしょう。

Note

まるで 共通機能 <common_functions> のように、 それらの依存関係が満たされているかぎり 互換関数は常に利用可能です。

パスワードハッシュ

この互換関数のセットは PHP 標準の パスワードハッシュ拡張 の「バックポート」を提供しています。 本来は PHP 5.5 以降で利用可能なものです。

依存関係

  • PHP 5.3.7
  • crypt()CRYPT_BLOWFISH サポート

定数

  • PASSWORD_BCRYPT
  • PASSWORD_DEFAULT

関数リファレンス

password_get_info($hash)
Parameters:
  • $hash (string) – パスワードのハッシュ
Returns:

ハッシュされたパスワードの情報

Return type:

array

詳しくは password_get_info() の PHP マニュアル を参照してください。

password_hash($password, $algo[, $options = array()])
Parameters:
  • $password (string) – 平文のパスワード
  • $algo (int) – ハッシュアルゴリズム
  • $options (array) – ハッシュオプション
Returns:

ハッシュされたパスワード、失敗した場合には FALSE

Return type:

string

詳しくは password_hash() の PHP マニュアル を参照してください。

Note

指定の (有効な) saltを提供しない限り、 この機能はさらに CSPRNG ソースにも依存します。 下記のいずれかがそれを満たします: - mcrypt_create_iv()MCRYPT_DEV_URANDOM - openssl_random_pseudo_bytes() - /dev/arandom - /dev/urandom

password_needs_rehash()
Parameters:
  • $hash (string) – パスワードのハッシュ
  • $algo (int) – ハッシュアルゴリズム
  • $options (array) – ハッシュオプション
Returns:

ハッシュが与えられたアルゴリズムとオプションにマッチするよう再ハッシュする必要がある場合は TRUE 、それ以外の場合はFALSE

Return type:

bool

詳しくは password_needs_rehash() の PHP マニュアル を参照してください。

password_verify($password, $hash)
Parameters:
  • $password (string) – 平文のパスワード
  • $hash (string) – パスワードのハッシュ
Returns:

パスワードがハッシュと一致した場合は TRUE 、そうでない場合は FALSE

Return type:

bool

詳しくは password_verify() の PHP マニュアル を参照してください。

ハッシュ (メッセージダイジェスト)

この互換レイヤには hash_equals() 関数と hash_pbkdf2() 関数のバックポートが含まれています。本来おのおの PHP 5.6 およびまたは PHP 5.5 を必要とするものです。

関数リファレンス

hash_equals($known_string, $user_string)
Parameters:
  • $known_string (string) – 既知の文字列
  • $user_string (string) – ユーザ指定の文字列
Returns:

文字列が一致する場合 TRUE 、それ以外の場合は FALSE

Return type:

string

詳しくは hash_equals() の PHP マニュアル を参照してください。

hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
Parameters:
  • $algo (string) – ハッシュアルゴリズム
  • $password (string) – パスワード
  • $salt (string) – ハッシュの salt
  • $iterations (int) – 導出の際に実行する反復回数
  • $length (int) – 出力文字列の長さ
  • $raw_output (bool) – -生のバイナリデータを返すかどうか
Returns:

パスワード派生キー、または失敗した場合に FALSE

Return type:

string

詳しくは hash_pbkdf2() の PHP マニュアル を参照してください。

マルチバイト文字列

この互換関数のセットは PHP の マルチバイト文字列拡張 を限定的にサポートします。 代替手段が限られているため、わずかな関数だけが用意されています。

Note

文字セットパラメータが省略されている場合、 $config['charset'] が使用されます。

依存関係

Important

この依存関係は省略可能ですが、これらの関数は常に宣言されます。 iconv が利用できない場合、対応する非 mbstring バージョンにフォールバック し ま す 。

Important

文字セットが供給されている場合、 それは iconv によりサポートされ、 iconv の認識できる形式でなければなりません。

Note

本来の mbstring 拡張モジュールへの依存がありそれをチェックしたい場合、 MB_ENABLED 定数を使用します。

関数リファレンス

mb_strlen($str[, $encoding = NULL])
Parameters:
  • $str (string) – 入力文字列
  • $encoding (string) – 文字セット
Returns:

入力文字列の文字数、失敗した場合には FALSE

Return type:

string

詳しくは mb_strlen() の PHP マニュアル を参照してください。

mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
Parameters:
  • $haystack (string) – 調べたい文字列
  • $needle (string) – haystack の中から探す文字列
  • $offset (int) – 検索オフセット
  • $encoding (string) – 文字セット
Returns:

$needle の見つかった位置、見つからない場合は FALSE

Return type:

mixed

詳しくは mb_strpos() の PHP マニュアル <http://php.net/mb_strpos>`_ を参照してください。

mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])
Parameters:
  • $str (string) – 入力文字列
  • $start (int) – 最初の文字の位置
  • $length (int) – 最大文字数
  • $encoding (string) – 文字セット
Returns:

$start と $length で指定された $str の部分文字列、失敗した場合は FALSE

Return type:

string

詳しくは mb_substr() の PHP マニュアル を参照してください。

標準関数

この互換関数のセットは、本来新しい PHP バージョンを必要とする PHP 標準関数のいくらかをサポートします。

関数リファレンス

array_column(array $array, $column_key[, $index_key = NULL])
Parameters:
  • $array (array) – 値を取り出したい配列
  • $column_key (mixed) – 返したいカラムのキー
  • $index_key (mixed) – 返す配列のキーに使うカラム
Returns:

入力配列から抽出した単独のカラムの配列

Return type:

array

詳しくは array_column() の PHP マニュアル を参照してください。

array_replace(array $array1[, ...])
Parameters:
  • $array1 (array) – 要素を置き換えたい配列
  • ... (array) – 置き換える配列 (または複数のそれ)
Returns:

編集された配列

Return type:

array

詳しくは array_replace() の PHP マニュアル を参照してください。

array_replace_recursive(array $array1[, ...])
Parameters:
  • $array1 (array) – 要素を置き換えたい配列
  • ... (array) – 引き抜きたい要素を持つ配列 (または複数のそれ)
Returns:

編集された配列

Return type:

array

詳しくは array_replace_recursive() の PHP マニュアル を参照してください。

Important

PHP のネイティブ関数だけが無限再帰を検出することができます。 PHP 5.3 以上でないならば、参照に注意してください!

hex2bin($data)
Parameters:
  • $data (array) – 十六進表現のデータ
Returns:

バイナリ表現にしたデータ

Return type:

string

詳しくは hex2bin() の PHP マニュアル を参照してください。

quoted_printable_encode($str)
Parameters:
  • $str (string) – 入力文字列
Returns:

8 ビットエンコードされた文字列

Return type:

string

詳しくは quoted_printable_encode() の PHP マニュアル を参照してください。