Код: Выделить всё
interface User {
public function findByPk($pk);
}
abstract class AbstractBaseRepository {
public function abstractClassMethod(): int {
// some code
}
}
class UserRepository extends AbstractBaseRepository implements User {
public function findByPk($pk) {
// some code
}
}
class UserController {
public function __construct(User $user) {
// тут у нас экземпляр UserRepository, полученный через DI и autowire
$user->findByPk(123);
$user->abstractClassMethod();
}
}
Не соображу, как это можно решить?