App is responsible for resource location, and path management.
Additional paths for Templates and Plugins are configured with Configure now. See config/app.php for an example. The App.paths.plugins
and App.paths.templates
variables are used to configure paths for plugins and templates respectively. All class based resources should be mapped using your application's autoloader.
You can inspect the currently loaded paths using App::classPath('Controller')
for example to see loaded controller paths.
It is also possible to inspect paths for plugin classes, for instance, to get the path to a plugin's helpers you would call App::classPath('View/Helper', 'MyPlugin')
Plugins can be located with App as well. Using Plugin::path('DebugKit') for example, will give you the full path to the DebugKit plugin.
Return the class name namespaced. This method checks if the class is defined on the application/plugin, otherwise try to load from the CakePHP core
_classExistsInBase(string $name, string $namespace)
_classExistsInBase
Test isolation wrapper
string
$name Class name.
string
$namespace Namespace.
bool
className(string $class, string $type, string $suffix)
Return the class name namespaced. This method checks if the class is defined on the application/plugin, otherwise try to load from the CakePHP core
string
$class Class name
string
$type optional Type of class
string
$suffix optional Class name suffix
string|null
Namespaced class name, null if the class is not found.
classPath(string $type, ?string $plugin)
Gets the path to a class type in the application or a plugin.
Example:
App::classPath('Model/Table');
Will return the path for tables - e.g. src/Model/Table/
.
App::classPath('Model/Table', 'My/Plugin');
Will return the plugin based path for those.
string
$type Package type.
string|null
$plugin optional Plugin name.
string[]
core(string $type)
Returns the full path to a package inside the CakePHP core
Usage:
App::core('Cache/Engine');
Will return the full path to the cache engines package.
string
$type Package type.
string[]
Full path to package
path(string $type, ?string $plugin)
Used to read information stored path.
The 1st character of $type argument should be lower cased and will return the value of App.paths.$type
config.
Default types:
Example:
App::path('plugins');
Will return the value of App.paths.plugins
config.
Deprecated: 4.0 App::path() is deprecated for class path (inside src/ directory). Use \Cake\Core\App::classPath() instead or directly the method on \Cake\Core\Plugin class.
string
$type Type of path
string|null
$plugin optional Plugin name
string[]
shortName(string $class, string $type, string $suffix)
Returns the plugin split name of a class
Examples:
App::shortName( 'SomeVendor\SomePlugin\Controller\Component\TestComponent', 'Controller/Component', 'Component' )
Returns: SomeVendor/SomePlugin.Test
App::shortName( 'SomeVendor\SomePlugin\Controller\Component\Subfolder\TestComponent', 'Controller/Component', 'Component' )
Returns: SomeVendor/SomePlugin.Subfolder/Test
App::shortName( 'Cake\Controller\Component\AuthComponent', 'Controller/Component', 'Component' )
Returns: Auth
string
$class Class name
string
$type Type of class
string
$suffix optional Class name suffix
string
Plugin split name of class
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.Core.App.html