9. スカラタイプヒンティング
(c) 2015 Masashi Shinbara @shin1x1
• int / float / string がタイプヒンティングに
• 型が合わなければ、自動変換 or TypeError
class Foo
{
public function say(int $i, float $f, string $s)
{
}
}
$foo = new Foo;
$foo->say(1, 1.0, '1');
10. 戻り値タイプヒンティング
(c) 2015 Masashi Shinbara @shin1x1
• クラス、インターフェース名、スカラ型
callable、self、parent、Closure
class Bar
{
public function get_int(): int
{
return 1;
}
}
11. 匿名クラス
(c) 2015 Masashi Shinbara @shin1x1
•new class で匿名クラスを作成
$object = new class {
public function say()
{
echo 'Hello' . PHP_EOL;
}
};
$object->say(); // Hello
12. 匿名クラス
(c) 2015 Masashi Shinbara @shin1x1
• 基底クラスを継承したり、
インターフェースやトレイトを追加できる
$object = new class implements Readable
{
use ReaderTrait;
};
$object->read();