Ярослав
Новичок
Declaration compatibility
Здравствуте.
Возникла проблема с совместимостью описание хитинга.
Сразу даю примеры так наверное лучше всего обяснить.
Возникает ошибка:
<b>Strict Standards</b>: Declaration of d::cc() should be compatible with that of c::cc() in .. on line 26.
(Ошибка возникает только в случае загрузки файла через инклуд. Тоисть если зайти с браузера на файл все ок, ошибки нет, а если инклудить в другой тогда есть ошибка. Это скорее бага php, но найти не удалось.)
Хочет совместимости с методом сс класса "с", тоисть ждет интерфейс "а", а я ему леплю "b"
Но если клас "b" есть парентом класа "а" то почему подходит? Методы же из класса "а" присутствуют в классе "b".
Здравствуте.
Возникла проблема с совместимостью описание хитинга.
Сразу даю примеры так наверное лучше всего обяснить.
PHP:
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
class a
{}
class b extends a
{}
class c
{
public function cc(a $a)
{}
}
class d extends c
{
public function cc(b $b) {}
public function dd() {}
}
<b>Strict Standards</b>: Declaration of d::cc() should be compatible with that of c::cc() in .. on line 26.
(Ошибка возникает только в случае загрузки файла через инклуд. Тоисть если зайти с браузера на файл все ок, ошибки нет, а если инклудить в другой тогда есть ошибка. Это скорее бага php, но найти не удалось.)
Хочет совместимости с методом сс класса "с", тоисть ждет интерфейс "а", а я ему леплю "b"
Но если клас "b" есть парентом класа "а" то почему подходит? Методы же из класса "а" присутствуют в классе "b".