Имеется абстрактный класс
Lotos\Core\Abstractions\Route
Есть интерфейс, который его использует
namespace Lotos\Core\Interfaces;
use Lotos\Core\Abstractions\Route;
interface RouteResolver {
public function resolve(Route $route);
}
И есть объект, реализующий этот интерфейс
namespace Lotos\Core\Wanderer;
use Lotos\Core\Interfaces\RouteResolver as RouteResolverInterface;
class Resolver implements RouteResolverInterface {
public function resolve(Route $route) {
}
}
Получаю ошибку
Declaration of
Lotos\Core\Wanderer\Resolver::resolve(Lotos\Core\Wanderer\Route $route)
must be compatible with
Lotos\Core\Interfaces\RouteResolver::resolve(Lotos\Core\Abstractions\Route $route)
Получается что объект, который приходит в resolve, обязательно должен быть Abstraction? Это никак нельзя обойти?
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки