php 7 — PHP: декларация возвращаемого значения в пространствах имен

Недавно я начал изучать PHP и, поскольку я привык к языкам со строгой типизацией (C ++, Java), я действительно предпочел бы использовать подсказки типов и декларации возвращаемых типов. Однако, когда я пытаюсь использовать декларацию возвращаемого типа для примитивов, я получаю фатальную ошибку, утверждающую, что моя функция не возвращает правильный тип.

Вот пример кода:

<?php
namespace Foo;

class Bar {

public function bar() : boolean {
return true;
}

}

$bar = new Bar();
$bar->bar();

?>

Это приведет к фатальной ошибке, утверждающей, что Bar :: bar не возвращает значение типа Foo \ boolean. Поэтому я попытался прибегнуть к глобальному пространству имен, изменив прототип функции на:

public function bar() : \boolean

Но затем я получил фатальную ошибку, утверждающую, что моя функция не возвращает значение типа boolean. Я предполагаю, что PHP ищет тип с именем boolean в глобальном пространстве имен, а не для примитивного типа. Отлично, как мне указать, что я хочу, чтобы моя функция возвращала значение логического типа примитива?

3

Решение

Подсказка типа для логического значения на самом деле bool, Попробуй это:

<?php
namespace Foo;

class Bar {
public function bar() : bool {
return true;
}
}

$bar = new Bar();
$bar->bar();
5

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

Других решений пока нет …

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