Smysl „Hlavního“ namespace/ namespace Todo v „Píšeme první aplikaci“
- kaniobal
- Člen | 5
Šaman napsal(a):
Myslím, že důvod je v tomto případě hlavně výukový a jinak ve větších aplikacích takový NS smysl má.
A touse Nette;
má také smysl – ber to jako seznam všech používaných NS kromě aktuálního NS. Tak trochu to funguje i jako seznam balíčků, nebo závislostí, které ta třída má.
Díky za odpověď. Je mi jasné, že ve chvíli, kdy tam napíšu namespace Todo; musím taky napsat use ???, pokud chci ??? používat „krátce“. Šlo mi spíš o to, jaký smysl má ten namespace Todo závadět (jak píšeš u větších aplikací). Vyvolalo to ve mě dojem, že můžu napsat jednoduchou aplikaci bez toho, ale zároveň z nějakého důvodu taky pocit, že by to mohlo způsobit problémy. Zajímaly by mě právě ty potenciální problémy z absence tohoto namespace plynoucí.
- David Matějka
- Moderator | 6445
- podle namespace logicky oddelis jednotlive tridy do „kategorii“
- nemusis se bat kolize, ze uz takova trida existovat bude
- Šaman
- Člen | 2666
Nepoužívání NS u presenterů (resp. skoro nikde) problém u malé
aplikace nezpůsobí. I ta kolize je nepravděpodobná, protože Nette
i ostatní knihovny vesměs NS používají. Ale samozřejmě jak aplikace
roste, tak roste i počet tříd a na nějakou kolizi můžeš narazit. Když
si navykneš psát vše objektové do NS, tak je to jedině dobře.
A propo ještě nedávno ve stabilní verzi ani nešly jednoduše psát
presentery do NS, to zavedla až vývojová větev 2.1 (a nevím, jestli se to
neprobublalo i do nějaké pozdní stable, ale tuším, že spíš ne). Takže
nejen, že to není povinnost, ale donedávna to ani nešlo. Ale od PHP
5.3 máme NS a je dobré je používat a zvyknout si na ně jako na best
practise.
(Mimochodem ty kolize vznikaly často na Nette pro PHP 5.2 bez NS
prefixu. Třídy User, Image a podobné měl už obsazený framework. Takže
dobře, že NS jsou.)
Editoval Šaman (11. 10. 2013 17:57)