Jak nazívat proměné? mojePromena nebo moje_promena

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

Já vím, že co člověk to názor, ale mě to strašně rozčiluje tak snad mi někdo pomůže. V PHP aplikaci používám rozhodně mojePromena, ježne v databazi použivám moje_promena a když použiji např. Nette\Database tak se do aplikace dostava skutečný název (tedy moje_promena) a tím je v aplikaci chaos, protoze je to napůl. A to mě právě rozčiluje. Takže vidím dvě řešení:

  1. přepsat názvy tabulek a sloupce v db s velkými písmeny. Problémy jsou dva, jednak to může zlobit, protože to závisí na nastavení MySQL a druhak u formulářových prvků nazývám proměné vždy s podtžitkem (nevím zda by nedělali problém ve formuláři velká písmena?)
  2. druhé řešení je nečakně psát v aplikaci podtržítka, ale to mi přijde ještě horší. Metoda getMoje_promena() je mi opravdu nesympatická, nicméně tato nekonzistentnost mě už opravdu nebaví. Máte někdo řešení?

Editoval pawouk (2. 8. 2011 19:41)

Filip Procházka
Moderator | 4668
+
0
-

Nešlo by v Nette\Database nějak nastavit, aby převáděl foo_bar na fooBar ?

gawan
Člen | 110
+
0
-

v NotORM to nie je problém.

arron
Člen | 464
+
0
-

A co treba zacit psat vsechny promenne konzistentne skrz celou aplikaci a databazi? Pokud budes tu konzistenci opravdu udrzovat, tak pak Te rozlisovani velikosti pismen IMHO vubec nemusi trapit. A bude po problemu:-)

arron
Člen | 464
+
0
-

Popripade jeste muzes zacit pouzivat nejake ORM (treba Doctrine 2), kde si mapujes sloupecky z db primo na promenne v php. Tim by se to taky vyresilo.

pawouk
Člen | 172
+
0
-

arron napsal(a):

A co treba zacit psat vsechny promenne konzistentne skrz celou aplikaci a databazi? Pokud budes tu konzistenci opravdu udrzovat, tak pak Te rozlisovani velikosti pismen IMHO vubec nemusi trapit. A bude po problemu:-)

Moc nechápu jak to myslíš, jak jsem psal obě varianty mají své silné nevýhody (se zachováním technologií).

pawouk
Člen | 172
+
0
-

HosipLan napsal(a):

Nešlo by v Nette\Database nějak nastavit, aby převáděl foo_bar na fooBar ?

To by bylo uplne super, kdyby to slo :-D

Cifro
Člen | 245
+
0
-

S tým pomenovávaním mam večný problém aj ja. V MySQL sa mi zdá, že stlpčeky môžeš mať camelCase a tak aj ostávajú pri používaní v PHP ale tabuľky sa stále prevádzajú na lowercase, takže v názve tabuľky treba podtŕžitko.

Inak regexp na ten prevod je aj v Nette kvoli actionName → url-name
https://api.nette.org/…ute.php.html#669

Editoval Cifro (3. 8. 2011 10:21)

arron
Člen | 464
+
0
-

pawouk napsal(a):

Moc nechápu jak to myslíš, jak jsem psal obě varianty mají své silné nevýhody (se zachováním technologií).

Kdyz budes pouzivat vsude stejny zapis a mysql si to prevede na mala pismena, tak Te to nezajima ne? Mysql si s tim udela co chce, ale pokud to udela pokazde stejne, tak dostanes vzdy spravny vysledek. V nazvech tabulek to muze byt problem, protoze je to neprehledne, ale tam ta podtrzitka vlastne nevadi. Nazvy sloupecku delam uz nejakoku dobu camelCase a nikdy jsem s tim zadny problem nemel.

Editoval arron (3. 8. 2011 11:02)

Nox
Člen | 378
+
0
-

Momentálně mám taky vše camelCase / PascalCase (z nemalé části následuju https://doc.nette.org/…ing-standard), včetně databáze a není problém (používám Doctrine2 ORM a ODM)

Určitě bych se zkusil mrknout jestli tvůj nástroj pro připojení k DB nepodporuje alternativní styl názvů – afaik v NotORM to je, tudíž v Nette\Databaze (což je taková upravená verze) by to mělo být taky

Nesouhlasím ovšem se „začni používat ORM“ – nasadit ORM jen kvůli coding standardu je overkill, takové rozhodnutí by se mělo zakládat na architektuře a povaze projektu

pawouk
Člen | 172
+
0
-

No s tou databází je to jen risk, netvrdím že camelCase v db nemůže fungovat, asi většinou funguje, ale zrovnatak se může stát že to fungovat nebude. Jak jsem psal lze to poměrně snadno nastavit (administrátorem serveru). Takže pro klasické weby, u který nění jisté na kterém hostingu skončí „jistota“ to psát z podtržítky.