- 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)
Mark's point is very valid, most of the class names are not going to be typed by the user, so that should not be a big concern. What I do not want to see in CakePHP is having to address the full name of a class inside the core like 'new \My\Long\Namespaced\Class()', that will be a lot of typing to do. Also, I'm very happy with the fuzzy file search now, since I don't confuse anymore the Model with ModelTask, as I did hundreds of times when working on 1.3 (and stupidly started editing Security instead of SecurityComponent). Going back to that would be a little sad.