发布于 2015-10-30 15:15:00 | 155 次阅读 | 评论: 0 | 来源: 网络整理
CodeIgniter 提供了一套兼容性函数,让你可以使用非原生的 PHP 函数,但是只有在更高的版本或者依赖于某个扩展插件。
作为定制化实现,这些函数也有一定的依赖性,但是如果你的安装的 PHP 没有提供原生函数,它们还是很有用的。
注意: 大部分和 通用函数
很像, 只要依赖性满足,兼容性函数一直可用。 <div class="custom-index container"></div>
这套函数提供一个 PHP 标准“哈希密码扩展” 的 “反向移植” ,仅在 PHP 5.5 版本之后可用。
CRYPT_BLOWFISH
支持 crypt()
PASSWORD_BCRYPT
PASSWORD_DEFAULT
password_get_info($hash)
更多信息,可以参考 PHP password_get_info() 使用手册
password_hash($password, $algo[, $options = array()])
更多信息,可用参考 PHP password_get_info() 使用手册
。
注意: 除非你提供自己的(有效的)salt,这个函数可用进一步的提供依赖于可用的 CSPRNG 源。满足底下的每个条件:
- ``mcrypt_create_iv()`` with ``MCRYPT_DEV_URANDOM``
- ``openssl_random_pseudo_bytes()``
- /dev/arandom
- /dev/urandom
password_needs_rehash()
更多信息,可以参考 PHP password_needs_rehash() 使用手册
。
password_verify($password, $hash)
更多信息,可以参考 PHP password_verify() 使用手册
这个兼容性层包含了 hash_equals()
和 hash_pbkdf2()
函数的公钥,除此之外还分别要求 PHP 5.6 和/或 5.5。
hash_equals($known_string, $user_string)
更多信息,可以参考 PHP hash_equals() 使用手册
。
hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
更多信息,可以参考 PHP hash_pbkdf2() 使用手册
。
这套兼容性函数提供为多字节字符串扩展提供有限支持。因为有限的替代方法,只有几个函数可用。
注意: 当一个字符参数忽略,可以使用 $config['charset']
。
注意: 这个依赖性是可选的,这个函数总是被声明。如果 iconv 不可用,他们将会回退到 non-mbstring 版本。
注意: 当提供字符设置时,必须通过 iconv 和它认识的格式来支持。
注意: 你再检查 mbstring 扩展时,可以使用 MB_ENABLED
常量。
mb_strlen($str[, $encoding = NULL])
更多信息,可以参考 PHP mb_strlen() 使用手册。
mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
更多信息,可以参考 PHP mb_strpos() 使用手册。
mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])
更多信息,可以参考 PHP mb_substr() 使用手册。
这套兼容性函数提供一些标准的 PHP 函数支持,不过需要新版本的 PHP。
array_column(array $array, $column_key[, $index_key = NULL])
更多信息,可以参考 PHP array_column() 使用手册。
array_replace(array $array1[, ...])
更多信息,可以参考 PHP array_replace() 使用手册。
array_replace_recursive(array $array1[, ...])
更多信息,可以参考 PHP array_replace_recursive() 使用手册。
注意: 只有 PHP 原生函数可以检测无穷递归。除非你的 PHP 版本是 5.3+,否则你要消息使用。
hex2bin($data)
更多信息,可以参考 PHP hex2bin() 使用手册。
quoted_printable_encode($str)
更多信息,可以参考 PHP quoted_printable_encode() 使用手册。