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

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().