Совместимость функций
CodeIgniter предоставляет набор совместимостей функций который позволяет использовать родные функции PHP, но только в более поздних версиях или в зависимости от определенного расширения.
Будучи в пользовательской реализации, эти функции имеют набор собственных зависимостей, но по прежнему остаются полезными, если настройки PHP не могут предложить их изначально.
Note
Как и в общих функциях
Кеширование паролей
Этот набор совместимостей функций предлагает “бэкпортирование” стандартов PHP расширения кеширования пароля доступных только с PHP 5.5.
Зависимости
- PHP 5.3.7
- CRYPT_BLOWFISH поддержка crypt()
Константы
- PASSWORD_BCRYPT
- PASSWORD_DEFAULT
Справочник по функциям
- password_get_info($hash)
Параметры: - $hash (строка) – Кеш пароля
Возвращает: Информацию о кшированном пароле
Возвращаемый тип: Массив
Для большей информации, обратитесь к РНР мануалу password_get_info().
- password_hash($password, $algo[, $options = array()])
Параметры: - $password (строка) – Текстовый пароль
- $algo (число) – Алгоритм кеширования
- $options (массив) – Опции кеширования
Возвращает: Кешированный пароль или FALSE при сбое
Возвращаемый тип: строка
Для большей информации, обратитесь к мануалу РНР password_hash().
Примечание
До тех пор пока Вы не предоставите нужную (и допустимую) соль, эта функция будет зависеть от CSPRNG исходников. Каждый из которых должен удовлетворять: - mcrypt_create_iv() с MCRYPT_DEV_URANDOM - openssl_random_pseudo_bytes() - /dev/arandom - /dev/urandom
- password_needs_rehash()
Параметры: - $password (строка) – Кеш пароля
- $algo (число) – Алгоритм кеширования
- $options (массив) – Опции кеширования
Возвращает: TRUE если кеш может быть перефразирован в соответствии с указанными алгоритмом и опциями, FALSE в противно случае
Возвращаемый тип: булево (bool)
Для большей информации, обратитесь к РНР мануалу password_needs_rehash().
- password_verify($password, $hash)
Параметры: - $password (строка) – Тестовый пароль
- $hash (строка) – Кеш пароля
Возвращает: TRUE если пароль совпадает с кешем, FALSE если нет
Возвращаемый тип: булево (bool)
Для большей информации, обратитесь к РНР мануалу password_verify().
Кеш (Дайджест сообщения)
Этот слой совместимости содержит бэкпорты для hash_equals() и hash_pbkdf2() функций, которые в противном случае требуют PHP 5.6 и/или PHP 5.5 соответственно.
Зависимости
- Нет
Справочник по функциям
- hash_equals($known_string, $user_string)
Параметры: - $known_string (строка) – Известная строка
- $user_string (строка) – Введенная пользователем строка
Возвращает: TRUE если строки совпали, FALSE в протвном случае
Возвращаемый тип: строка
Для большей информации, обратитесь к РНР мануалу hash_equals().
- hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]])
Параметры: - $algo (строка) – Алгоритм кеширования
- $password (строка) – Пароль
- $salt (строка) – Кеш соли
- $iterations (число) – Число итераций для выполнения деривации
- $length (число) – Длина выходной строки
- $raw_output (булево (bool)) – Нужно ли возвращать необработанные двоичные данные
Возвращает: Пароль-ключ или FALSE при сбое
Возвращаемый тип: строка
Для большей информации, обратитесь к РНР мануалу hash_pbkdf2().
Многобайтовая строка
Этот набор совместимостей функций предлагает ошраниченную поддержку PHP расширение многобайтовой строки. Из-за ограничености альтернативных решений, доступны лишь некоторые функции
Примечание
Когда кодировка опущена, будет задействован $config['charset'].
Зависимости
- iconv расширение
Важно
Эта зависимость является необязательной и эти функции будут всегда объявляться. Если iconv не доступна, функции будут возвращены к non-mbstring версиям.
Важно
Где кодировка установлена, она должна поддерживать iconv и тот формат в котором она признана.
Примечание
Для собственной проверки фактического mbstring расширения, используйте MB_ENABLED переменную.
Справочник по функциям
- mb_strlen($str[, $encoding = NULL])
Параметры: - $str (строка) – Входная строка
- $encoding (строка) – Кодировка
Возвращает: Количество символов во входной строке или FALSE при сбое
Возвращаемый тип: строка
Для большей информации, обратитесь к РНР мануалу mb_strlen().
- mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]])
Параметры: - $haystack (строка) – Строка для поиска
- $needle (строка) – Часть строки поиска
- $offset (число) – Смещение поиска
- $encoding (строка) – Кодировка
Возвращает: Числовые позиции где были найдены $needle или FALSE если не найдено
Возвращаемый тип: смешанный
Для большей информации, обратитесь к РНР мануалу mb_strpos().
- mb_substr($str, $start[, $length = NULL[, $encoding = NULL]])
Параметры: - $str (строка) – Входная строка
- $start (число) – Позиция первого символа
- $length (число) – Максимальное количество символов
- $encoding (строка) – Кодировка
Возвращает: Часть $str указана $start и $length или FALSE при сбое
Возвращаемый тип: строка
Для большей информации, обратитесь к РНР мануалу mb_substr().
Стандартные функции
Этот набор совместимостей функций поддерживает несколько стандартных функций PHP иначе нужна более высокая версия PHP.
Зависимости
- нет
Справочник по функциям
- array_column(array $array, $column_key[, $index_key = NULL])
Параметры: - $array (массив) – Массив для выборки результатов
- $column_key (смешанный) – Ключ столбца для возврата значений
- $index_key (смешанный) – Ключ для использования возвращаемого значения
Возвращает: Массив значений, представляющих один столбец из входного массива
Возвращаемый тип: массив
Для большей информации, обратитесь к РНР мануалу array_column().
- array_replace(array $array1[, ...])
Параметры: - $array1 (массив) – Массив для замены элементов
- ... (массив) – Массив (или несколько) для извлечения элементов
Возвращает: Измененный массив
Возвращаемый тип: массив
Для большей информации, обратитесь к РНР мануалу array_replace().
- array_replace_recursive(array $array1[, ...])
Параметры: - $array1 (массив) – Массив для замены элементов
- ... (массив) – Массив (или несколько) для извлечения элементов
Возвращает: Измененный массив
Возвращаемый тип: массив
Для большей информации, обратитесь к РНР мануалу array_replace_recursive().
Важно
Только родные функции PHP могут обнаружить бесконечную рекурсию. Если Вы используете РНР 5.3+, будьте осторожны с ссылками!
- hex2bin($data)
Параметры: - $data (массив) – Шестнадцатеричное представление данных
Возвращает: Двоичное представление указанных данных
Возвращаемый тип: строка
- quoted_printable_encode($str)
Параметры: - $str (строка) – Входная строка
Возвращает: 8битная-закодированная строка
Возвращаемый тип: строка
Для большей информации, обратитесь к РНР мануалу quoted_printable_encode().