До 7.2 такой метод, как ...
<?php
$ctx = hash_init('md5');
var_dump($ctx);
... должен был выводить что-то вроде resource(7, Hash Context)
.Возвращенное значение было «ресурсом».
Ресурс - это специальная переменная, содержащая ссылку на внешний ресурс.
Начиная с 7.2 они изменили это, чтобы возвращать фактический объект (класс) типа HashContext .
Возможно, вам придется изменить способ оценки возвращаемого значения этих хеш-функций.
Где прежде вы могли бы просто проверить is_resource()
(возможно, get_resource_type()
) теперь вы будете использовать is_a
или instanceof
.
if ($h instanceof \HashContext) { ...
Действительно зависит от кода.Вам не нужно ничего менять.Зависит, если / как / где ваш код оценивает возвращаемые значения некоторых из этих функций.Материал, который вы можете найти в модульном тесте ...
Например, этот код будет работать до / после 7.2, даже если $ctx
изменит тип:
$ctx = hash_init('md5');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
echo hash_final($ctx);