Userland Naming Guide van PHP
Meeste PHP developers zullen ongetwijfeld de coding standards kennen van PEAR. Een onderdeel van coding standards is de naamgeving van variabelen, functies en classes. Sinds kort kent de officiele PHP manual ook een Userland Naming Guide.
The following is a guide for how to best choose names for identifiers in PHP userland code. When choosing names for any code that creates symbols in the global namespace it is important to take into account the following guide lines to prevent future version of PHP to clash with userland code.
Een belangrijke regel is:
PHP owns the top-level namespace but tries to find decent descriptive names and avoid any obvious clashes.
Dit was wel het geval bij de release van PHP 5.1. Er werd een nieuwe class geintroduceerd genaamd 'Date'. PHP kent geen namespaces waardoor er een conflict ontstond met PEAR::Date, omdat beide classes 'Date' heten. De nieuwe class werd onmiddelijk eruit gehaald bij de release van PHP 5.1.1.
Native date class is withdrawn to prevent namespace conflict with PEAR's date package.
Bij de introductie van PHP6 zal er ondersteuning zijn voor namespaces. Tot die tijd kun je beter de Userland Naming Guide volgen.
Volg Scriptorama via RSS!
Reageer ook!
Dit is niets nieuws natuurlijk. Ontwikkelaars zitten al jaren te wachten op namespaces in PHP.
Door Ruud
op 08.15.06 @ 8:03 am | Permalink
Inderdaad. Het voorbeeld van Date geeft eigenlijk al aan hoe groot de vraag ernaar is. Ik ben zelf geen voorstander van PEAR's naamgeving voor classes, geef mij maar de namespaces.
Door Tri Pham
op 08.15.06 @ 8:10 am | Permalink
Ik ben uberhaupt geen voorstander van PEAR...
Design-technisch hoort het onsamenhangende PEAR naar mijn mening niet standaard in PHP geintegreerd te worden.
Door Ruud
op 08.15.06 @ 10:45 am | Permalink
"Design-technisch hoort het onsamenhangende PEAR naar mijn mening niet standaard in PHP geintegreerd te worden."
Bravo.
Door berry__
op 08.15.06 @ 8:22 pm | Permalink
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>