Совместимость функций

    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 (массив) – Шестнадцатеричное представление данных
    Возвращает:

    Двоичное представление указанных данных

    Возвращаемый тип:

    строка

    hex2bin().

    quoted_printable_encode($str)
    Параметры:
    • $str (строка) – Входная строка
    Возвращает:

    8битная-закодированная строка

    Возвращаемый тип:

    строка

    Для большей информации, обратитесь к РНР мануалу quoted_printable_encode().