相容性函數¶
CodeIgniter 提供一組相容性函數,使你可以使用非原生可使用的 PHP 函數, 但是只有在更高的版本或者依賴於一定的擴充插件。
作為客製化實作,這些函數對他們本身來說,也將有一些依賴性設定,如果你的 PHP 安裝沒有提供原生的函數,使用我們的方法是很有用的。
Note
大部份像是 通用函數 ,只要依賴條件滿足,相容性函數總是可以使用的。
密碼雜湊¶
這組相容性函數提供一個 “反向移植” 在 PHP 的標準 Password Hashing extension ,其它方式可以使用,就是將 PHP 版本升級到 PHP 5.5 。
函數參考¶
-
password_get_info
($hash)¶ Parameters: $hash (string) – 雜湊的密碼 Returns: 雜湊密碼的資訊 Return type: array 要獲得更多資訊,請參考 PHP manual for password_get_info() 。
-
password_hash
($password, $algo[, $options = array()])¶ Parameters: - $password (string) – 明文密碼
- $algo (int) – 雜湊演算法
- $options (array) – 雜湊選項
Returns: 雜湊密碼,或者錯誤 FALSE
Return type: string
要獲得更多資訊,請參考 PHP manual for password_hash() 。
Note
除非你提供你自己的(以及有效的)salt,這個函數可以進一步提供依賴於可使用的 CSPRNG source。 滿足下列每一個條件: -
mcrypt_create_iv()
withMCRYPT_DEV_URANDOM
-openssl_random_pseudo_bytes()
- /dev/arandom - /dev/urandom
-
password_needs_rehash
($hash, $algo[, $options = array()])¶ Parameters: - $hash (string) – 雜湊密碼
- $algo (int) – 雜湊演算法
- $options (array) – 雜湊選項
Returns: TRUE 如果雜湊可以被匹配於輸入的演算法以及選項給重新雜湊,否則 FALSE
Return type: bool
要獲得更多資訊,請參考 PHP manual for password_needs_rehash() 。
-
password_verify
($password, $hash)¶ Parameters: - $password (string) – 純文本密碼
- $hash (string) – 雜湊密碼
Returns: TRUE 如果密碼匹配雜湊,如果不是 FALSE
Return type: bool
要獲得更多資訊,請參考 PHP manual for password_verify() 。
雜湊(訊息摘要)¶
This compatibility layer contains backports for the hash_equals()
and hash_pbkdf2()
functions, which otherwise require PHP 5.6 and/or
PHP 5.5 respectively.
函數參考¶
-
hash_equals
($known_string, $user_string)¶ Parameters: - $known_string (string) – 已知的字串
- $user_string (string) – 使用者提供的字串
Returns: TRUE 如果字串匹配,否則 FALSE
Return type: string
要獲得更多資訊,請參考 PHP manual for hash_equals() 。
-
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: 如果 raw_output 設置為TRUE, 則回傳原始二進制數據表示的信息摘要,否則回傳 16 進制小寫字串格式表示的信息摘要。
Return type: string
要獲得更多資訊,請參考 PHP manual for hash_pbkdf2() 。
多字節字串¶
這個相容性函數提供有限的參考 PHP’s Multibyte String extension 。由於是有限的替代解決方法,只有少數的函數是可用的。
Note
當一個字元參數省略, $config['charset']
將被用。
依賴¶
- iconv extension
Important
這個依賴是非必要的,這個函數總是被定義好了。 If iconv is not available, they WILL fall-back to their non-mbstring versions.
Important
Where a character set is supplied, it must be supported by iconv and in a format that it recognizes.
Note
For you own dependency check on the actual mbstring
extension, use the MB_ENABLED
constant.
函數參考¶
-
mb_strlen
($str[, $encoding = NULL])¶ Parameters: - $str (string) – 輸入字串
- $encoding (string) – 字元集合
Returns: 字串長度,或者錯誤 FALSE
Return type: string
要獲得更多資訊,請參考 PHP manual for mb_strlen() 。
-
mb_strpos
($haystack, $needle[, $offset = 0[, $encoding = NULL]])¶ Parameters: - $haystack (string) – String to search in
- $needle (string) – Part of string to search for
- $offset (int) – Search offset
- $encoding (string) – Character set
Returns: Numeric character position of where $needle was found or FALSE if not found
Return type: mixed
要獲得更多資訊,請參考 PHP manual for mb_strpos() 。
-
mb_substr
($str, $start[, $length = NULL[, $encoding = NULL]])¶ Parameters: - $str (string) – Input string
- $start (int) – Position of first character
- $length (int) – Maximum number of characters
- $encoding (string) – Character set
Returns: Portion of $str specified by $start and $length or FALSE on failure
Return type: string
要獲得更多資訊,請參考 PHP manual for mb_substr() 。
標準函數¶
這組相容性函數提供了支持 PHP 中的一些標準的功能,只是可能需要一個較新的 PHP 版本。
函數參考¶
-
array_column
(array $array, $column_key[, $index_key = NULL])¶ Parameters: - $array (array) – 需要取出的多維陣列的陣列
- $column_key (mixed) – 需要返回值的列的索引
- $index_key (mixed) – 需要把哪個索引當作返回值的索引
Returns: 從多維陣列中返回單列陣列
Return type: array
要獲得更多資訊,請參考 PHP manual for array_column() 。
-
hex2bin
($data)¶ Parameters: $data (array) – Hexadecimal representation of data Returns: Binary representation of the given data Return type: string 要獲得更多資訊,請參考 PHP manual for hex2bin() 。