Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

Coding Standard decisions for 5.3

Based on the polls issued this week, we're going to make the following addendums to our coding standards:

Namespace Aliases

PHP 5.3 introduces namespaces. Part of namespace support is the ability to alias namespaces and/or members of namespaces with the "use" annotation.

When aliasing within ZF library code, the aliases should typically follow these patterns:

  • If aliasing a namespace, use the final segment of the namespace; this can be accomplished by simply omitting the "as" portion of the alias:
  • If aliasing a class, either use the class name (no "as" clause), or suffix the class with the subcomponent namespace preceding it:

Abstract Classes

Abstract classes will be prefixed with the word "Abstract": AbstractController, AbstractForm, etc.

Interfaces

Interfaces should be named descriptively and sufficiently generically to ensure they do not conflict with concrete implementations while still accurately indicating the purpose of the interface. Examples include:

  • Configurable
  • Adaptable
  • Resource
  • Role
  • Loadable
  • Builder

Type Hinting

Type hints will use available aliases (as declared using "use" statements) whenever possible. If a classname appears only once within the scope of the defined class, a fully qualified name may be used, but we strongly encourage defining an alias to facilitate documentation of dependencies.

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.