<?php
class A
{
protected function data(int $id)
{
return "A";
}
}
class B extends A
{
protected function data(string $id)
{
return parent::data(1);
}
public function say() {
echo $this->data() . "\n";
}
}
$b = new B();
/*
* Warning: Declaration of B::data(string $id) should be compatible with A::data(int $id)
* PHP Warning: Declaration of B::data(string $id) should be compatible with A::data(int $id)
*
* -------
*
* php7のバージョンから継承したメソッドの引数の型や数が変わるとワーニングになるらしい。
* 親と子で引数の数が変わるぐらいよくある事だと思ってたけどそうでもないのか?
*/