最近、PHPの学習が始まりました。強く型付けされた言語(C++、Java)に慣れてきたので、タイプヒントと戻り値の型宣言を使用することをお勧めします。しかし、私はプリミティブの戻り値の型宣言を使用しようとしているとき、私は関数が正しい型を返さないことを示す致命的なエラーを取得します。ここでPHP:名前空間での戻り値の宣言
はコードの例です:
<?php
namespace Foo;
class Bar {
public function bar() : boolean {
return true;
}
}
$bar = new Bar();
$bar->bar();
?>
これはバー::バーはFooの\ブール型の値を返さないことを示す、致命的なエラーが発生します。だから私はに関数プロトタイプを変更することにより、グローバル名前空間に頼ることを試みた:
public function bar() : \boolean
しかし、私は私の関数はboolean型の値を返さないことを示す致命的なエラーが発生しました。私は、PHPは、グローバルな名前空間でブール型と呼ばれる型を探していて、プリミティブ型ではないと思います。それで、私の関数がプリミティブ型booleanの値を返すようにするにはどうすればいいでしょうか?
タイプは 'bool'ではない'ブール 'です。 – Roman
また、各ファイルの最初の行に 'declare(strict_types = 1);'を入れてください。 –