namespaces en class-namen
Voor de OOPers onder ons. Hoe noemen jullie je classes?
Stel we hebben een of andere generator class van een speciaal type.
Ik zou dan zelf dit doen:
Zoals je ziet noem ik de class dus Generator. Is dat juist? Of zouden jullie de class FooBarGenerator noemen? Met andere woorden, neem je de namespace mee in de class-naam? Ben ik wel nieuwsgierig naar...
Gewijzigd op 22/10/2013 22:13:48 door Ozzie PHP
je kunt in jouw voorbeeld al de class expliciet aanroepen met Foo\Bar\Generator dus wat wil je nog meer?
De eerste optie zie je terug in alle oss projecten. Ik hou meer van de 2de versie. Doormiddel van het use statement gebruik ik dan een algemene ConfigLoader (of XmlLoader) alias.
@Wouter: ik bedoelde wat Frank zei. Dus om even bij jouw voorbeeld te blijven, zou je zeggen Ozzie\Config\Loader\Xml of Ozzie\Config\Loader\XmlConfigLoader. Ik begrijp dat die eerste variant dus inderdaad de juiste is. Overigens vind ik wat jij nu noemt wel een heerlijk dubieus geval, want in de 2e versie heet jouw class dus Xml. Dat klopt eigenlijk niet (het is immers een loader class en niet een xml class), en in dit geval lijkt XmlLoader me de betere/mooiere keuze.
Het is in de Ozzie\Config\Loader namespace, dus je weet al dat het een Xml loader is. Zoals gezegd gebruik ik aliases zodat het in mijn code ook duidelijk is dat het een loader is: use Ozzie\Config\Loader\Xml as XmlLoader;
Ja, ik snap precies wat je bedoelt! Maar "Ozzie\Config\Loader" is de namespace, terwijl "Xml" de class-naam is. En dat klopt dus niet. Het is een Loader class van het type xml. Jij aliast het ook niet voor niets naar XmlLoader ;)