Do nového roku jako lepší programátoři? Znovu otevíráme večerní školu programování. Nette framework, návrhové vzory, testování nebo vůbec poprvé kurzy ASP.NET dostupné odkudkoli v republice.
Avatar
Paul
Člen
Avatar
Paul:

Ahoj rád bych se zeptal na trochu obecnější dotaz.
Mám třídu v PHP, která obsahuje několik metod.
V těchto metodách se používají hodnoty z databáze (zpravidla různé sloupce v různých metodách).
Mám dilema, jestli si vytvořit proměnné viditelné pro všechny metody a jedním dotazem si je naplnit (dotaz s použitím joinů) a nebo si tu danou hodnotu vždy tahat zvlášť jednodušším dotazem v dané metodě, kde ji potřebuji.

Můžete prosím někdo poradit jak je to podle best practisies a proč?

 
Odpovědět 24.3.2015 16:20
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Paul
David Čápka:

Pokud nepoužíváš ORM, tak se obvykle OOP v PHP dělá tak, že třídy fungují jako manažery nějaké entity (např. UserManager, ArticleManager, ProductManager,­...). Ve třídách jsou potom metody jako addUser(), removeUser(), getUsers() a podobně, které mají v sobě SQL dotaz. To celé je ovládané přes kontrolery (MVC architektura). Tady na síti je k tomu plno materiálů.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 24.3.2015 16:35
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Paul
David Čápka:

Ke konkrétnější odpovědi si nějak nedokáži představit, co by třeba metoda addUser() nebo getProducts() potřebovala za sdílená data. Takových dat bývá většinou naprosté minimum.

Nahoru Odpovědět 24.3.2015 16:37
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.