[2010–04–13] přejmenování metod User::authenticate, signOut, isAuthenticated → login, logout, isLoggedIn
- David Grudl
- Nette Core | 8218
Na základě hlasování komunity došlo k přejmenování metod třídy Nette\Web\User souvisejících s autentifikací.
- authenticate() → login()
- signOut() → logout()
- isAuthenticated() → isLoggedIn()
- getSignOutReason() → getLogoutReason()
- $onAuthenticated → $onLoggedIn
- $onSignedOut → $onLoggedOut
Změna se týká verzí 0.9 i 1.0. Ve verzi 0.9.4 lze spíše než o přejmenování hovořit o vytvoření aliasů, protože původní názvy jsou stále funkční a nevyhazují žádné chybové hlášky.
- Honza Kuchař
- Člen | 1662
Neměla by být verze 1.0 úplně bez aliasů? Prostě nezatížená minulostí?
Editoval honzakuchar (14. 4. 2010 10:35)
- Petr Motejlek
- Člen | 293
honzakuchar napsal(a):
Neměla by být verze 1.0 úplně bez aliasů? Prostě nezatížená minulostí?
S tím plně souhlasím. Nevím, proč máme pořád nutkání být zpětně kompatibilní – podívejte se na MSIE, ten je tak zpětně kompatibilní, že si dokáže 15 let s sebou táhnout jednu chybu… Nová verze je od toho, že je nová ;).
- Honza Marek
- Člen | 1664
Cifro napsal(a):
A nemalo by byť zmenené
authenticate()
nalogin()
aj v interfaceIAuthenticator
?
Jedině pokud by se přejmenoval i ten interface.
- Honza Kuchař
- Člen | 1662
Když nová verze, ať je nová. Když je změna, tak ať je úplná. Ve verzi 1.0 bych přejmenoval úplně všechno co se toho týká. Žádná zpětná kompatibilita. V 1.0 bude kotrmelec a všichni s tím počítají.
Já to už docela dlouho dělám tak, že i nové weby vyvíjím na stabilních verzích nette a framework neaktualizuji, protože tím můžu klidně otevřít nějakou bezpečnostní díru. (teda kromě nějakých bezpečnostních záplat, samozřejmě)
- David Grudl
- Nette Core | 8218
IAuthenticator a autenticate() je naprosto v pořádku, to je prostě vykonavatel autentifikačního procesu, nikoliv procesu přihlášení.
Do verze 1.0 samozřejmě plánuju odříznou zpětnou (ne)kompatibilitu, ale rovnou zrušit takto používané metody by bylo drsné. Pro začátek přidám nějakou E_WARNING.
- veena
- Člen | 98
honzakuchar napsal(a):
Když nová verze, ať je nová. Když je změna, tak ať je úplná. Ve verzi 1.0 bych přejmenoval úplně všechno co se toho týká. Žádná zpětná kompatibilita. V 1.0 bude kotrmelec a všichni s tím počítají.
Já to už docela dlouho dělám tak, že i nové weby vyvíjím na stabilních verzích nette a framework neaktualizuji, protože tím můžu klidně otevřít nějakou bezpečnostní díru. (teda kromě nějakých bezpečnostních záplat, samozřejmě)
Můj souhlasný názor:
Dokonalá release policy pro vývoj Open Source
http://www.facebook.com/note.php?…
Případnou diskuzi k tomu nechť případný diskutující případně založí v případném jiném threadu.
- David Grudl
- Nette Core | 8218
Už to prosím nepitvejme. O (ne)kompatibilitě mezi 0.9 a 1.0 jsem se bavili dříve, stejně tak je compatibility-policy v Nette historicky poměrně zřejmá, ke všemu vede vždy jen jedna cesta.
Je pravda, že jsem to napsal v úvodním příspěvku blbě – opravil jsem jej. Chtěl jsem vydat stabilní verzi a neunáhlit se s razantní změnou vzniklou na poslední chvíli.
V současných dev verzích se už vyhazuje E_WARNING, s větším časovým odstupem je z 1.0 úplně odstraním.
- Jan Tvrdík
- Nette guru | 2595
Pokusil jsem se aktualizovat dokumentaci, pokud narazíte na opomenuté místo, tak ho prosím opravte sami nebo mi dejte vědět a já to spravím.
- lkrocek
- Člen | 3
Ahoj, dneska jsem si stahnul Nette Framework 1.0 alpha – PHP 5.2 – prefixed
a pri logovani mi to hlasi:
PHP Warning: NUser::authenticate() is deprecated; use login() instead. in
…\libs\Nette\Web\User.php:436
asi se na tuto verzi zapomnelo
mmj. koukam ze to ted uz ze stranky download zmizelo, mam prejit spis na klasicke Nette bez prefixu, nebo to uteklo nejakou nahodou? :-)
Editoval lkrocek (28. 5. 2010 14:11)