- 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)
Models should never be suffixed, they are the closest to your business ideas you can get, so thy should be named as close as what you want to represent. @AD7six, take a look at the other frameworks in 5.3, there is a LOT of ambiguity, just because they though it was cool to have super short class names.
And I don't get the "type less" argument, the namespace is written just once in the file, when declared or when imported with "use". I you are going to type the namespace every time you use the class in the same file, then you have another problem.
My concern is not just about "collisions" it about making the code self-explanatory when you read it, without having to go back and forth to the top of the file to figure out what a class really is.