Я поместил дополнительный слой между AppController и некоторыми специальными контроллерами в приложении.
Единственная проблема, с которой вы столкнетесь, - это объединение атрибутов класса $ helpers и $ components. В CakePHP переопределение этих переменных в ваших контроллерах не перезапишет те, которые установлены AppController, но объединит их.
Это делается специальным методом с именем __mergeVars () в базовом классе Controller, и, к сожалению, он делает это только для структуры контроллера по умолчанию. Ваш дополнительный слой не будет корректно объединен, если вы хотите наследовать $ helpers и $ controllers от AppController до ваших контроллеров.