CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.3 Red Velvet API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 3.3
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Console
    • Controller
    • Core
      • Configure
      • Exception
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class App

App is responsible for resource location, and path management.

Adding paths

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.

Inspecting loaded paths

You can inspect the currently loaded paths using App::path('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::path('View/Helper', 'MyPlugin')

Locating plugins

Plugins can be located with App as well. Using Plugin::path('DebugKit') for example, will give you the full path to the DebugKit plugin.

Namespace: Cake\Core
Link: http://book.cakephp.org/3.0/en/core-libraries/app.html

Method Summary

  • _classExistsInBase() protected static

    _classExistsInBase

  • className() public static

    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

  • core() public static

    Returns the full path to a package inside the CakePHP core

  • path() public static

    Used to read information stored path

  • shortName() public static

    Returns the plugin split name of a class

Method Detail

_classExistsInBase() ¶ protected static

_classExistsInBase(string $name, string $namespace): bool

_classExistsInBase

Test isolation wrapper

Parameters
string $name

Class name.

string $namespace

Namespace.

Returns
bool

className() ¶ public static

className(string $class, string $type = '', string $suffix = ''): bool|string

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

Parameters
string $class

Class name

string $type optional

Type of class

string $suffix optional

Class name suffix

Returns
bool|string

core() ¶ public static

core(string $type): array

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.

Parameters
string $type

Package type.

Returns
array

path() ¶ public static

path(string $type, string|null $plugin = null): array

Used to read information stored path

Usage:

App::path('Plugin');

Will return the configured paths for plugins. This is a simpler way to access the App.paths.plugins configure variable.

App::path('Model/Datasource', 'MyPlugin');

Will return the path for datasources under the 'MyPlugin' plugin.

Parameters
string $type

type of path

string|null $plugin optional

name of plugin

Returns
array
Links
http://book.cakephp.org/3.0/en/core-libraries/app.html#finding-paths-to-namespaces

shortName() ¶ public static

shortName(string $class, string $type, string $suffix = ''): string

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

Parameters
string $class

Class name

string $type

Type of class

string $suffix optional

Class name suffix

Returns
string
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs