cakephp/cakephp — pull request #3710 by majna (2014-06-13 15:15:08+00:00)
Title: Improve missing aliased class exception

Current behavior:

- In case of a missing helper:
`public $helpers = ['NonExistentHtml'];`
Error: NonExistent could not be found.
Create the class NonExistent below in file: App\View\Helper\NonExistent.php

- Missing alias class:
`public $helpers = ['Html' => ['className' => 'NonExistentHtml']];`
Error: Html could not be found.

- In case of a missing or not loaded plugin:
`public $helpers = ['Nope.Html];` or
`public $helpers = ['Html' => ['className' => 'Nope.MyHtml']];`
Error: Html could not be found.
Error:
Error: An Internal Error Has Occurred.

After these changes to the exception reporting, ObjectRegistry reports correctly missing alias class and plugin name:

`public $helpers = ['Html' => ['className' => 'Nope.MyHtml']];`

Error: Nope.MyHtmlHelper could not be found. Make sure your plugin Nope
is in the App\Plugin directory and was loaded.

Error: Create the class MyHtmlHelper below in file: App\Plugin\Nope\View\Helper\MyHtmlHelper.php

Plugin::path() throws exception if plugin is missing, resulting in broken missing_helper template and Internal Server error. That's why additional plugin path juggling is required in the template.

Related to #3699

If this is a way to go, I can also update missing_component and missing_behavior templates...