Konstanty ve třídách modelové vrstvy

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
buffus
Člen | 101
+
0
-

Nette 2.2, PHP 5.5, MySQL 5.6

Ahoj,

zhruba před rokem tímto commitem přidal David do třídy UserManager v Sandboxu konstanty.

Chci se zeptat:

  1. Asi mi něco uniklo, to bylo z důvodu zabezpečení? Nedaří se mi o tom najít žádné povídání.
  2. Definovat názvy tabulek a sloupců jako konstanty i pro další modelové třídy v aplikaci je doporučený postup?

Předem díky za odpověď.

Mysteria
Člen | 797
+
+3
-

Dobrý dotaz, taky by mne to zajímalo. Osobně v tom vidím jenom přínos, že když změním název sloupce v tabulce, tak to změním jednou v konstantě a nemusím to měnit ve všech těch místech, ale vzhledem k tomu, že každé IDE umí refaktoring a kolikrát měním názvy sloupců u tabulek, tak se mi to zdá zbytečné…

Jan Tvrdík
Nette guru | 2595
+
+12
-

@buffus Není to doporučení postup, naopak je to dost blbost. V tam sandboxu to je AFAIK proto, aby ten kód byl čitelnější a dal se snadněji portovat na jinak uspořádanou databázi. Se zabezpečením to nijak nesouvisí a ve své aplikaci to nikdy nedělej.