- Core namespace:
Cake - Namespace will follow the directories, ie.
Cake\Cache\Engine\ApcEngine,Cake\Controller\Controller - View files don't need namespaces
- Basic functions will not be namespaced as well
- Use the class loader defined by the PHP Standard Group, see https://gist.github.com/562509
- Suffixes will not be removed (ie.
HtmlHelperwill beCake\View\Helper\HtmlHelperinstead ofCake\View\Helper\Html) - Remove App::uses()
- Remove filemap
- Support full class name in configurations, ie.
DebugKit\Controller\Component\ToolbarComponentinstead ofDebugKit.Toolbar
- Plugin must use namespaces
- The default top level namespace will be the same of plugin name, but can be configured a custom namespace using the
Plugin::load()
- Application must use namespaces
- Include in
core.phpa configuration to indicate the application namespace (empty for global)
We should also keep in mind that for many classes the classname will rarely be typed. Behaviors, helpers, and components (all currently suffixed) are rarely used with a suffix as the ObjectCollections responsible for loading them trim off the suffix.