- 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.
HtmlHelper
will beCake\View\Helper\HtmlHelper
instead ofCake\View\Helper\Html
) - Remove App::uses()
- Remove filemap
- Support full class name in configurations, ie.
DebugKit\Controller\Component\ToolbarComponent
instead 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.php
a configuration to indicate the application namespace (empty for global)
I prefer no suffixes. I don't see the value in using namespaces /and/ class suffixes.
Ambiguity is not likely to be the common case - it should be the exception. You can easily do
use Foo\Model\Bar as BarModel
but IMO you shouldn't be forced to alias classes to be able to type less in your application code.