Návrh na chybovou výjimku
- PetrP
- Člen | 587
Co znamená „pokouší se přihlásit neověřený uživatel“? Snad každý uživatel který se snaží přihlásit je neověřený, proto se taky přihlašuje, ne?
Nic ti nebrání přidat si ho na urovní třídy (tedy že není součástí interface, což ničemu nevadí)
class Authenticator implements IAuthenticator
{
const NOT_VERIFIED = 4;
public function authenticate(array $credentials)
{
throw new AuthenticationException('Jste neověřený uživatel, nejprvě se přihlašte než se můžete přihlásit ;]', self::NOT_VERIFIED);
}
}
- romansklenar
- Člen | 655
Tady asi byla na mysli situace, kdy se uživatel ověřuje např. pomocí mailu.
Já bych byl i pro, taky ji používám, způsobem jak popisuje Petr, na kterém samozřejmě není nic špatného.
- hauerland
- Člen | 16
Ano, bylo to myšleno jak říká Roman, kdy ty údaje uživatele jsou k dispozici, ale jeho účet není ověřený. Já to řeším na úrovni presenteru na základě specifické hlášky a e->getMessage(). Šlo mi o to, že ověřování účtů je poměrně používaná situace, takže by ta konstanta mohla být přímo v Nette.
- PetrP
- Člen | 587
A ve chvili kdy neni ověřený tak mu nedovolíte se přihlásit? Chápu to dobře:
if (!$row->verified)
throw new AuthenticationException('Nejprve potvrďte registraci na vašem emailu.', self::NOT_VERIFIED);
V tom případě to dává smysl, na druhou stranu by se asi dalo klidně
použít i self::INVALID_CREDENTIAL