Bicycle/.claude/memory/feedback_auth_api_naming.md
Egor Isaev af0c247403 dev
2026-08-06 17:02:53 +03:00

2.1 KiB
Raw Blame History

name description metadata
feedback-auth-api-naming Auth API ориентируется на Kohana Auth (login/logout/loggedIn/getUser/checkPassword, Auth::instance()) — без слова Provider
type
feedback

Пользователь знаком с Kohana-подобным Auth-модулем и мыслит его терминами. При работе с Services\Auth (и любым похожим кодом в этом проекте) — придерживаться этой семантики, а не изобретать свою.

Why: Изначально я сделал Services\Auth::provider() + интерфейс AuthProvider — пользователь не понял слово «provider» и explicitно попросил «убери Provider он меня бесит». Показал референс — конфиг и методы Kohana Auth (driver, login, logout, check_password, get_user, logged_in). После переименования — доволен.

How to apply: Итоговая договорённость:

  • Services\Auth::instance(?string $name = null) — точка входа (как Auth::instance() в Kohana), НЕ provider()/getProvider().
  • Интерфейс — Services\Auth\AuthDriver (не AuthProvider), реализация по умолчанию — FileAuthDriver.
  • Методы (camelCase, как везде в проекте — не snake_case, как в самой Kohana): login($login, $password), logout(), loggedIn(), getUser(), checkPassword($password).
  • Слово «provider» в новом коде авторизации не использовать вообще — ни в именах классов/методов, ни в комментариях.
  • User — не отдельный класс, а обычный ?array из getUser() (осознанное решение: разные бэкенды/драйверы отдают разный набор полей, жёсткий класс был бы либо слишком узким, либо резиновым __get-обёрткой).