У меня есть один класс PHP, в котором я нашел одну функцию, например,
public static function success(string $userid, string $message):bool
{
return self::add($userid, $message, 'success');
}
Может кто-нибудь, пожалуйста, скажите, что это значит :bool
после имени функции?
:bool
форсирует возвращаемый тип функции, в вашем случае это логическое значение.
<?php
function arraysSum(array ...$arrays): array
{
return array_map(function(array $array): int {
return array_sum($array);
}, $arrays);
}
print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));
В PHP 7 добавлена поддержка объявлений возвращаемых типов. Аналогично объявлениям типа аргумента, декларации возвращаемого типа определяют тип значения, которое будет возвращено из функции. Для объявлений возвращаемого типа доступны те же типы, что и для объявлений типов аргументов.
Строгая типизация также влияет на объявления возвращаемых типов. В слабом режиме по умолчанию возвращаемые значения будут приводиться к правильному типу, если они еще не относятся к этому типу. В сильном режиме возвращаемое значение должно быть правильного типа, в противном случае выдается ошибка TypeError.
Замечания:
При переопределении родительского метода дочерний метод должен соответствовать любому объявлению возвращаемого типа в родительском методе. Если родитель не определяет тип возвращаемого значения, тогда дочерний метод может сделать это.
Полный список новых функций можно найти Вот.
В нем прямо говорится, что функция success
вернет bool
и только bool
таким образом предотвращая непреднамеренное возвращение значений путем неявного приведения и т. д.
Проще говоря, это индикатор типа значения, которое будет выводить функция.
Это введено в PHP 7. Если вы попытаетесь вывести значение, отличное от значения bool, возникнет ошибка.
Это заставит возвращаемое значение вашего метода быть логическим.
например если ваш метод self :: add возвращает строку, результатом будет 1 для true.
От документация (выделение мое):
В PHP 7 добавлена поддержка объявлений возвращаемых типов. Аналогично объявлениям типа аргумента, декларации возвращаемого типа определяют тип значения, которое будет возвращено функцией. Для объявлений возвращаемого типа доступны те же типы, что и для объявлений типов аргументов.
Строгая типизация также влияет на объявления возвращаемых типов. В слабом режиме по умолчанию возвращаемые значения будут приведены к правильному типу если они еще не такого типа. В сильном режиме возвращаемое значение должно быть правильного типа, в противном случае выдается ошибка TypeError.