Вы можете смело назвать админ вашего плагина, это ни в коем случае не зарезервированное слово.Однако Cake не учитывает имена плагинов при разборе имен моделей / контроллеров, поэтому AdminUsersController
и AdminUser
фактически будут рассматриваться как классы, принадлежащие некоторому абстрактному AdminUser.Таким образом, чтобы решить все ваши проблемы, используя только магию Cake, вам нужно на самом деле назвать их User и UsersController, и надеяться, что эти имена не конфликтуют.Если это не вариант, вы можете предоставить свое собственное волшебство для решения этих проблем:
1) Как псевдоним контроллера - один из примеров конфигурации маршрута в поваренная книга
2) Да, если вы хотите использовать «Пользователь» в качестве ключа, это правильно.
3) На самом деле не используется только Cake magic, потому что переменная $uses
не поддерживаетсглаживание.Однако вы можете воспользоваться преимуществами новой отложенной загрузки 2.0, выполнив что-то подобное в вашем AdminUsersController:
<?php
public function __get($name) {
// Note, the isset triggers lazy-loading. Check out Controller::__isset()
// if you want to see how that works.
if ($name == 'User' && isset($this->AdminUser)) {
// Assign to admin user here to bypass the next time
return ($this->User = $this->AdminUser);
}
// Delegate to CakePHP's magic getter
return parent::__get($name);
}