Autor Zpráva
joe
Profil
Ahoj,

zajímalo by mě, jak píšete názvy metod různých funkcní - například v modelu.

Dejme tomu, že budu mít model Member a Comment.

Chci metody, které budou dělat provádět:

- výběr jednoho uživatele
- výběr všech uživatelů
- výběr komentářů od jednoho uživatele

---

Jak byste je napsali (pokud možno, tak anglicky) a pod jaký model je umístili? Mám podobných názvů plno (vazba uživatel -> fotky, ...).
Máte na to nějakou pomůcku, díky které se rozhodnete, do jakého modelu danou metodu zapíšete?
ShiraNai7
Profil
Nevím jak to máš řešené, já třeba mám statické třídy ve smyslu řídících struktur, které vytvářejí instance uživatelů (například). V takovém případě bych měl následující metody:

Member::get(...); // vyber 1 uzivatele
Member::getAll(...); // vyber vsech uzivatelu
Comment::getByMember(...); // vyber komentaru konkretniho uzivatele


Ve svém kódu se snažím vyhnout zbytečně nabobtnalému obecnému balastu.
joe
Profil
ShiraNai7:
Jednoduché, přesně tak jsem si to představoval :-) Nevím proč, ale třeba se mi kolikrát stane, že do modelu Member začínám psát:

getMemberComments($id)
ShiraNai7
Profil
joe:

Nj :) Stačí se akorát zamyslet a neplést dohromady jabka s hruškama.
TomášK
Profil
joe:
Rozumná mi ještě přijde metoda nestatická metoda getComments pro modul Member.
joe
Profil
ShiraNai7:
Ale tak souvisí to spolu. Můžu si říct česky:

- vyber komentáře od uživatele --> model Comment
- vyber uživatelské komentáře --> model Member

TomášK:
To je pravda... právě bych to měl rád nějak sjednocené, abych se v tom třeba později nějak vyznal a nebo prostě měl pro sebe nějaký způsob, jakým to budu psát.

metoda nestatická
Proč nestatická? Osobně používám pouze statické.
TomášK
Profil
joe:
Předpokládal jsem, že model Member reprezentuje u uživatele, tedy bude mít i nějaké nestatické metody. Pokud ho nepoužíváš pro daný účel, pak bych metodu comments nevytvářel. Cíl byl, aby to šlo volat takto:

m = Member::get(id) // vrací instanci Member
m.comments()


U statických metod bych dodržoval logiku, že metoda bude definovaná v té třídě, jejíž typ vrací (případně pole), což je přesně to, co navrhuje ShiraNai7. Tj. getMemberComments pro Member ne, protože metoda by vracela [Comment, Comment, ...], patří tedy do třídy Comment.

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0