Symfoware

Symfowareについての考察blog

CodeIgniter 3 互換性維持のための関数について(General Topics - Compatibility Functions)

CodeIgniter User Guide

General TopicsのCompatibility Functionsについて調べてみます。
Compatibility Functions



Compatibility Functions



PHPのバージョンによっては実装されていない関数を、
CodeIgniter側で実装している。と理解しました。

関数が存在するPHPのバージョンの場合はネイティブの関数を、
存在しないバージョンの場合は独自関数が導入されるんだと思っています。

パスワードのハッシュ、マルチバイト文字列操作、配列操作の
関数が用意されています。



Password Hashing



パスワードをハッシュ化してデータベースに保存する。なんて処理が
よくあると思います。
PHP 5.5以降でないと使えない関数をPHP 5.3.7以降であれば使えるようにしているようです。


【依存関係】

・PHP 5.3.7以上
・crypt()がCRYPT_BLOWFISHをサポートしていること


【導入定数】

・PASSWORD_BCRYPT
・PASSWORD_DEFAULT



password_get_info($hash)

ハッシュアルゴリズム名を渡すと、その情報が取得できるようです。
password_get_info



password_hash($password, $algo[, $options = array()])

パスワードのハッシュを取得します。
password_hash



password_needs_rehash()

指定したハッシュがオプションにマッチしているか調べます。
password_needs_rehash



password_verify($password, $hash)

パスワードがハッシュにマッチするか調べます。
password_verify


※正直、使いどころがイメージ出来てないです。





Hash (Message Digest)



ハッシュに関する関数のようです。
依存関係はありません。


hash_equals($known_string, $user_string)
hash_equals



hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
パスワードからキーを生成する。
hash_pbkdf2


まあ、上記の関数はCodeIgniterを使っていればPHPのバージョンを
気にせず呼び出してよいということかと。




Multibyte String



マルチバイト文字の操作です。
iconvに依存しています。


mb_strlen($str[, $encoding = NULL])

文字列の長さを取得します。
mb_strlen



mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])

字列の中に指定した文字列が最初に現れる位置を見つけます。
mb_strpos


mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])

文字列の一部を取得します。
mb_substr





Standard Functions



配列操作などの便利な関数です。
依存関係はありません。


array_column(array $array, $column_key[, $index_key = NULL])

入力配列から単一のカラムの値を返します。
array_column

この関数、知りませんでした。
並び替えもできて便利かも。



array_replace(array $array1[, ...])

配列の要素を置換します。
array_replace



array_replace_recursive(array $array1[, ...])

配列の要素を再帰的に置換します。
array_replace_recursive



hex2bin($data)

16進エンコードされたバイナリ文字列をデコードします。
hex2bin



quoted_printable_encode($str)

8 ビット文字列を quoted-printable 文字列に変換します。
quoted_printable_encode

おそらく、メール送信時のエンコードなどに使われているのでは?



CodeIgniter 3のユーザーガイド(User Guide)まとめ

関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2015/01/25(日) 18:32:55|
  2. PHP
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<CodeIgniter 3 URIによるコントローラ呼び出しの分岐(General Topics - URI Routing) | ホーム | CodeIgniter 3 独自関数について(General Topics - Common Functions)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1610-63a77477
この記事にトラックバックする(FC2ブログユーザー)