Applicatie naamgeving
Nu loop ik soms vast op de naamgeving binnen PHP, CSS etc.. Hoe pakken jullie dit aan? Nadat een gebruiker inlogd is komt hij op het dashboard van zijn account terecht. Hier ziet hij ook de login geschiedenis die de naam getLoginHistoryByID binnen PHP heeft. Is dat logisch?
Verder ben ik van plan om ook alle images namen en alle CSS content op de PHP manier te gaan verwerken. Zoiets als headerBackground en #headerMenu.
Graag zou ik hierover wat tips willen ontvangen omdat ik nu volgens mij te perfectionistisch te werk ga en ik op sommige dingen dus vast loop omdat ik continu bezig ben met de naamgeving.
Alvast bedankt!
Gewijzigd op 04/12/2011 16:31:26 door PHP Scripter
Quote:
Hier ziet hij ook de login geschiedenis die de naam getLoginHistoryByID binnen PHP heeft.
Waarom ziet de gebruiker de naam van de method?
Quote:
Verder ben ik van plan om ook alle images namen en alle CSS content op de PHP manier te gaan verwerken. Zoiets als headerBackground en #headerMenu.
Let er wel op dat je jezelf niet gaat 'beperken' door dit te doen, zorg ervoor dat je dit consistent doet zodat je geen overbodige css elementen krijgt.
P.S. De naamgeving die je gebruikt 'klopt', zorg er ook voor duidelijke benamingen voor (private) fields.. sommige mensen gebruiken underscores om aan te duiden dat het om een private field gaat, andere geven ook alle fields een prefix ( private $sName, die 's' van 'string', 'i' van integer, 'b' van boolean.. etc)
De benaming voor 'fields' is het probleem niet, maar meer de benaming voor functies etc.. Mijn 'probleem' zit hem er dus meer in dat ik niet weet of ik het goed doe qua naamgeving binnen PHP, CSS etc., ook al is het persoonlijk. En daar loop ik dus soms op vast en maak ik mezelf helemaal gek.
Gewijzigd op 04/12/2011 23:51:18 door PHP Scripter
In CSS gebruik ik altijd naam-van-id (voorbeeld: #header-menu)
En in PHP gebruiker in de standaard van Zend. (voorbeeld: getUser, getEmail, getBla, setAah)
Ik vind het overigens heel belangrijk dat je in de naam aangeeft waar de functie over gaat. Dan is commentaar ook overbodig .. ;-)
Niels
Niels, je wilt toch niet zeggen dar je nooit classes bebruikt in css?
Niels
Maar doe je dan ook bijvoorbeeld in de user class:
getNameByID
getEmailByID
Of laat je dat 'ByID' helemaal weg omdat het vanzelfsprekend is?
Gewijzigd op 05/12/2011 21:52:31 door PHP Scripter
PHP Scripter op 05/12/2011 21:49:41:
Niels en Ger, bedankt voor jullie reacties.
Maar doe je dan ook bijvoorbeeld in de user class:
getNameByID
getEmailByID
Of laat je dat 'ByID' helemaal weg omdat het vanzelfsprekend is?
Maar doe je dan ook bijvoorbeeld in de user class:
getNameByID
getEmailByID
Of laat je dat 'ByID' helemaal weg omdat het vanzelfsprekend is?
Ik denk dat je het beter anders kunt aanpakken, namelijk het ID meegeven op het moment dat je de user aanmaakt. Dus zoiets:
$user_id = 31;
$user = new User($user_id);
$user_name = $user->getName();
Zend Coding Standards ook al ontwikkel je niet in Zend Framework, dan heb je alsnog hele goede richtlijnen over het gebruik van accolades, namen voor functies, classes, variabelen, etc!
Je zou ook eens kunnen kijken naar de PHP Scripter op 05/12/2011 21:49:41:
Niels en Ger, bedankt voor jullie reacties.
Maar doe je dan ook bijvoorbeeld in de user class:
getNameByID
getEmailByID
Of laat je dat 'ByID' helemaal weg omdat het vanzelfsprekend is?
Maar doe je dan ook bijvoorbeeld in de user class:
getNameByID
getEmailByID
Of laat je dat 'ByID' helemaal weg omdat het vanzelfsprekend is?
Nee zeker niet ById weghalen, want je kan later ook andere methods hebben (getByEmailAddress etc).. dynamisch maken is ook een oplossing maar niet zo net.
In de user class bijvoorbeeld:
- getNameByEmail
- getNameByID
- getNameByPosition
Is een `position` uniek dan?
Sorry nee, maar het ging maar meer om het principe.
PHP Scripter op 06/12/2011 13:06:07:
Jaron bedankt voor jouw reactie.
In de user class bijvoorbeeld:
- getNameByEmail
- getNameByID
- getNameByPosition
In de user class bijvoorbeeld:
- getNameByEmail
- getNameByID
- getNameByPosition
Misschien is het handig om gewoon 1 user (object) terug te geven i.p.v. alleen de naam, of ben je van plan om 10 get methods te maken voor de naam, postcode etc?
dan krijg je:
$user_id = 12;
$user = new User($user_id);
$user_name = $user->getName();
of
$user_name = User::getName($user_id);
Ozzie PHP op 06/12/2011 17:04:26:
Als de functie in de User class staat dan zou ik zeggen getName().
dan krijg je:
$user_id = 12;
$user = new User($user_id);
$user_name = $user->getName();
of
$user_name = User::getName($user_id);
dan krijg je:
$user_id = 12;
$user = new User($user_id);
$user_name = $user->getName();
of
$user_name = User::getName($user_id);
oei.. dit is zooo tegen de regels van OOP in.
@Jaron,
Wat gaat tegen de regels in?
Jaron, zou je misschien willen uitleggen waarom? En misschien aangeven hoe het WEL moet?
Gewijzigd op 06/12/2011 19:00:40 door Niels K
Niels, lees mijn post a.u.b. nog eens goed! ;-)