JhaoDa, ок. По умолчанию создается проект 5.8, где функция есть. В 6.0 её выпилят.
Тогда непонятно, что может быть не так, если по дефолту всё работает.
невозможно наследовать класс от двух и более родителей одновременно
Да, невозможно.
от двух и более интерфейсов
Это не наследование, а реализация.
Ко множественному наследованию в php можно частично отнести трейты.
Они дают возможность включить кусок кода в класс, но сами друг от друга не наследуются.
Сергей, Поэтому следует делать код контроллеров как можно короче.
Кроме того со временем у вас в апи и веб роутах могут появиться какие-то различия, это всё полезет в те же ифы и тогда уже точно будет целесообразно разделять контроллеры.
Отделите для начала код фронта(js) от бека(php)