Древо жизни все зеленее и зеленее, а ООП конечно крут, но! стоит любую теорию со временем применять на практике, и кроме примеров как нужно я буду выкладывать и найденные у умненьких, но иногда очень спешащих людей, примеры как не надо и что я потом рефакторю нещадно.
Как не надо
И собственно реализующий это класс (оцените триггер $is_admins и количество его вхождений!!!!)
Как надо
Что еще можно
Модель могла бы быть создана в контроллере на инициализации (не статические классы), и потом нам уже вообще все равно над какой моделью мы выполняем действия пока они наследуют один интерфейс.