Case sensitive programozási stílus
Sziasztok!
Nem csak php-vel kapcsolatban szeretnék kérdezni, hanem úgy overall a technikákkal kapcsolatban, amiket leírok..
Egy php osztály-t meg lehet feleltetni egy SQL adatbázis táblának meg egy XML Schema elementnek is. Az osztály példányváltozóit pedig meg lehet feleltetni az adatbázis tábla mezőinek és complexType-ba ágyazott (nested) Schema elementeknek.
Továbbá az osztályokat fájlokban szokás tárolni, és onnan betölteni őket, a fájlokat pedig éredemes ugyanolyan névvel ellátni, mint az osztályok nevei és a namespaceszel (package) megegyező nevű mappákba tenni, mert így egyszerűen importálhatóak.
Továbbá egy Soap Envelope-ban az elementek tagNamejei szintén az osztályok neveivel egyeznek meg.
Szeretnék az osztályoknak, a példányváltozóknak és a metódusoknak olyan neveket adni, amiket a fent említett helyeken fel tudok használni átalakítás nélkül.
-php
-XML Schema
-XML(SoapEnv)
-SQL
-fileSystem(windows,linux stb..)
(A private, protected, public módosítókat a változó- és metódus nevekben nem szeretném feltűntetni.)
Tudtok valamit ajánlani?
Egyelőre három változatot találtam ki, de még nem próbálgattam őket.(Bocs a szintaktikai hibáért, de így egy sorba kifértek.)
■ Nem csak php-vel kapcsolatban szeretnék kérdezni, hanem úgy overall a technikákkal kapcsolatban, amiket leírok..
Egy php osztály-t meg lehet feleltetni egy SQL adatbázis táblának meg egy XML Schema elementnek is. Az osztály példányváltozóit pedig meg lehet feleltetni az adatbázis tábla mezőinek és complexType-ba ágyazott (nested) Schema elementeknek.
Továbbá az osztályokat fájlokban szokás tárolni, és onnan betölteni őket, a fájlokat pedig éredemes ugyanolyan névvel ellátni, mint az osztályok nevei és a namespaceszel (package) megegyező nevű mappákba tenni, mert így egyszerűen importálhatóak.
Továbbá egy Soap Envelope-ban az elementek tagNamejei szintén az osztályok neveivel egyeznek meg.
Szeretnék az osztályoknak, a példányváltozóknak és a metódusoknak olyan neveket adni, amiket a fent említett helyeken fel tudok használni átalakítás nélkül.
-php
-XML Schema
-XML(SoapEnv)
-SQL
-fileSystem(windows,linux stb..)
(A private, protected, public módosítókat a változó- és metódus nevekben nem szeretném feltűntetni.)
Tudtok valamit ajánlani?
Egyelőre három változatot találtam ki, de még nem próbálgattam őket.
new NameSpace\TestClass()->callMethod();
new Name-Space\Test-Class()->call-method();
new Name_Space\Test_Class()->call_method();
Kis kiegészítő
Mondjuk ha valamelyik rendszer nem szereti a nagybetűket, akkor az első stílus kapásból ugrott, mert a kisbetűsre alakításnál elvesznek a szóhatárok.
Inflektálás
BlogPost
osztályból például kiválóan lehetblog_posts
táblát csinálni, nem olyan bonyolult. És még csak nem is azért, mert az SQL nem kezeli, pusztán csak azért, mert így szokás.Bizonyos SQL szerverek
Nem feltétlen jó dolog a szokást követni.. nem case sensitivity-s példa: ha csinálsz egy DAO-t az blog_posts tábláról, akkor kapsz egy BlogPost class-t. Az egyes és többesszám elég nehezen összeegyeztethető, és nincs is sok értelme, mert nagyon egyértelmű az analógia az osztályok és a táblák között. Szóval én inkább BlogPost-ot használnék táblanévnek is. A camelcase átalakításához egy regex kell, ami szóhatárra beteszi az underscoret, ha viszont alapból bent van az underscore, akkor nem is kell transzformáció, mert a szóhatárok jelölve vannak.