2.1 KiB
2.1 KiB
| name | description | metadata | ||
|---|---|---|---|---|
| feedback-auth-api-naming | Auth API ориентируется на Kohana Auth (login/logout/loggedIn/getUser/checkPassword, Auth::instance()) — без слова Provider |
|
Пользователь знаком с 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-обёрткой).