oop — PHP объект functionName (): bool

У меня есть один класс PHP, в котором я нашел одну функцию, например,

public static function success(string $userid, string $message):bool
{
return self::add($userid, $message, 'success');
}

Может кто-нибудь, пожалуйста, скажите, что это значит :bool после имени функции?

1

Решение

: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.

Замечания:
При переопределении родительского метода дочерний метод должен соответствовать любому объявлению возвращаемого типа в родительском методе. Если родитель не определяет тип возвращаемого значения, тогда дочерний метод может сделать это.

Полный список новых функций можно найти Вот.

1

Другие решения

В нем прямо говорится, что функция success вернет bool и только boolтаким образом предотвращая непреднамеренное возвращение значений путем неявного приведения и т. д.

0

Проще говоря, это индикатор типа значения, которое будет выводить функция.
Это введено в PHP 7. Если вы попытаетесь вывести значение, отличное от значения bool, возникнет ошибка.

0

Это заставит возвращаемое значение вашего метода быть логическим.

например если ваш метод self :: add возвращает строку, результатом будет 1 для true.

0

От документация (выделение мое):

В PHP 7 добавлена ​​поддержка объявлений возвращаемых типов. Аналогично объявлениям типа аргумента, декларации возвращаемого типа определяют тип значения, которое будет возвращено функцией. Для объявлений возвращаемого типа доступны те же типы, что и для объявлений типов аргументов.

Строгая типизация также влияет на объявления возвращаемых типов. В слабом режиме по умолчанию возвращаемые значения будут приведены к правильному типу если они еще не такого типа. В сильном режиме возвращаемое значение должно быть правильного типа, в противном случае выдается ошибка TypeError.

0
По вопросам рекламы [email protected]