Можно ли как-то заставить PHP учитывать, что метод описанный в интерфейсе реализован в магическом методе?
если вы реализовываете интерфейс, то вы должны реализовать все методы, объявленные в нем
В общем, как сказал Сергей Протько, методы интерфейса обязательно должны быть реализованы явно. Встречал в интернете вариант, где для каждого "магического" метода делают заглушку через return $this->__call(__FUNCTION__, func_get_args()), но это как-то не фонтан как и необходимость выдумывать новое имя для метода. Решил через Trait со всеми недостающими методами, а внутри трейта исходные методы вызываю через parent::methodName().