Как использовать двоеточие в функции PHP

Я обнаружил, что кто-то пишет такой код:

class Abc
{
public function foo(int $bar) : string {}
}

Что значит : значит в функции? Это трюк или что? Каков эффект изменения string в bool или же array или же int?

Я просто не понимаю, зачем нам : xxxа когда его использовали?

1

Решение

Это объявление типа возврата, функция, представленная в PHP 7.

Тип, который вы видите после двоеточия, — это тип, который будет возвращен функцией.

Есть 2 варианта:
По умолчанию возвращаемое значение будет преобразовано в тип, который должен быть возвращен.
В вашем случае он всегда будет преобразован в строку.

Если строгая типизация включена ( declare(strict_types=1);), вывод должен быть строкой, иначе он выдаст ошибку TypeError.

В любом случае: как разработчик вы всегда уверены, что тип возвращаемого значения является строкой в ​​этом случае.

Не обязательно определять тип возвращаемого значения, поэтому вы можете оставить его, если не хотите. Тип возврата в этом случае может быть любым.

5

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

Это декларация возвращаемого типа. В вашем примере это означает, что функция должна возвращать строку. Если возвращаемый результат является строковым (например, объект с определенным __toString ()), он будет приведен к строке, в противном случае произойдет ошибка

0

Он объявляет тип возвращаемого значения для функции.

function foo (int $bar) : string { }

int $bar часть говорит, что параметр $ bar должен быть целым числом, а : string Часть говорит, что функция вернет строку. Если функция не передана int или не возвращает строку, будет выдано TypeError.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector