Недавно я начал изучать 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 в глобальном пространстве имен, а не для примитивного типа. Отлично, как мне указать, что я хочу, чтобы моя функция возвращала значение логического типа примитива?
Подсказка типа для логического значения на самом деле bool
, Попробуй это:
<?php
namespace Foo;
class Bar {
public function bar() : bool {
return true;
}
}
$bar = new Bar();
$bar->bar();
Других решений пока нет …