互換関数

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

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

注釈

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

パスワードハッシュ

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

依存関係

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

定数

  • PASSWORD_BCRYPT
  • PASSWORD_DEFAULT

関数リファレンス

password_get_info($hash)
パラメータ:
  • $hash (string) – パスワードのハッシュ
返り値:

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

返り値の型:

array

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

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

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

返り値の型:

string

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

注釈

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

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

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

返り値の型:

bool

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

password_verify($password, $hash)
パラメータ:
  • $password (string) – 平文のパスワード
  • $hash (string) – パスワードのハッシュ
返り値:

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

返り値の型:

bool

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

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

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

関数リファレンス

hash_equals($known_string, $user_string)
パラメータ:
  • $known_string (string) – 既知の文字列
  • $user_string (string) – ユーザ指定の文字列
返り値:

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

返り値の型:

string

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

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

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

返り値の型:

string

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

マルチバイト文字列

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

注釈

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

依存関係

重要

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

重要

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

注釈

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

関数リファレンス

mb_strlen($str[, $encoding = NULL])
パラメータ:
  • $str (string) – 入力文字列
  • $encoding (string) – 文字セット
返り値:

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

返り値の型:

string

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

mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
パラメータ:
  • $haystack (string) – 調べたい文字列
  • $needle (string) – haystack の中から探す文字列
  • $offset (int) – 検索オフセット
  • $encoding (string) – 文字セット
返り値:

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

返り値の型:

mixed

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

mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])
パラメータ:
  • $str (string) – 入力文字列
  • $start (int) – 最初の文字の位置
  • $length (int) – 最大文字数
  • $encoding (string) – 文字セット
返り値:

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

返り値の型:

string

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

標準関数

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

関数リファレンス

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

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

返り値の型:

array

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

array_replace(array $array1[, ...])
パラメータ:
  • $array1 (array) – 要素を置き換えたい配列
  • ... (array) – 置き換える配列(または複数のそれ)
返り値:

編集された配列

返り値の型:

array

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

array_replace_recursive(array $array1[, ...])
パラメータ:
  • $array1 (array) – 要素を置き換えたい配列
  • ... (array) – 引き抜きたい要素を持つ配列(または複数のそれ)
返り値:

編集された配列

返り値の型:

array

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

重要

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

hex2bin($data)
パラメータ:
  • $data (array) – 十六進表現のデータ
返り値:

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

返り値の型:

string

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

quoted_printable_encode($str)
パラメータ:
  • $str (string) – 入力文字列
返り値:

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

返り値の型:

string

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