Класс App
Класс App отвечает за расположение ресурсов и управление путями.
Добавление путей
Дополнительные пути для шаблонов и плагинов настраиваются с помощью Configure. См. config/app.php для примера. Переменные App.paths.plugins и App.paths.templates используются для настройки путей для плагинов и шаблонов соответственно. Все ресурсы, основанные на классах, должны быть сопоставлены с помощью автозагрузчика вашего приложения.
Просмотр загруженных путей
Вы можете просмотреть текущие загруженные пути, используя App::path('Controller') , например, чтобы увидеть загруженные пути контроллеров.
Также возможно просмотреть пути для классов плагинов, например, чтобы получить путь к помощникам плагина, вы можете вызвать App::path('View/Helper', 'MyPlugin')
Поиск плагинов
Плагины также можно найти с помощью App. Например, использование Plugin::path('DebugKit') даст вам полный путь к плагину DebugKit.
Ссылка: http://book.cakephp.org/3.0/ru/core-libraries/app.html
Расположение: Core/App.php
Краткое описание методов
- _classExistsInBase
-
Возвращает имя класса с пространством имён. Этот метод проверяет, определён ли класс в приложении/плагине, в противном случае пытается загрузить его из ядра CakePHP.
- Возвращает полный путь к пакету внутри ядра CakePHP
- Используется для чтения информации, хранящейся по пути
- Возвращает имя плагина, разделенное по слешам, для класса
Подробное описание методов
_classExistsInBase()исходный код закрытый статический
_classExistsInBase( string $name , string $namespace )
_classExistsInBase
Обёртка для тестирования изоляции
Параметры
- строка
$name - Имя класса.
- строка
$namespace - Пространство имён.
Возвращает
booleanclassName()исходный код публичный статический
className( string $class , string $type '' , string $suffix '' )
Возвращает имя класса с пространством имён. Этот метод проверяет, определён ли класс в приложении/плагине, в противном случае пытается загрузить его из ядра CakePHP.
Параметры
- строка
$class - Имя класса
- строка
$typeнеобязательно '' - Тип класса
- строка
$suffixнеобязательно '' - Суффикс имени класса
Возвращает
boolean|строкаFalse, если класс не найден, или имя класса с пространством имён
core()исходный код публичный статический
core( string $type )
Возвращает полный путь к пакету внутри ядра CakePHP
Использование:
App::core('Cache/Engine'); Возвратит полный путь к пакету механизмов кэширования.
Параметры
- строка
$type - Тип пакета.
Возвращает
массивПолный путь к пакету
path()исходный код публичный статический
path( string $type , string|null $plugin null )
Используется для чтения информации, хранящейся по пути
Использование:
App::path('Plugin'); Возвратит настроенные пути для плагинов. Это более простой способ доступа к переменной App.paths.plugins configure.
App::path('Model/Datasource', 'MyPlugin'); Возвратит путь к источникам данных внутри плагина 'MyPlugin'.
Параметры
- строка
$type - тип пути
- строка|null
$pluginнеобязательно null - имя плагина
Возвращает
массивСсылка
http://book.cakephp.org/3.0/ru/core-libraries/app.html#finding-paths-to-namespacesshortName()исходный код публичный статический
shortName( string $class , string $type , string $suffix '' )
Возвращает имя плагина, разделенное по слешам, для класса
Примеры:
App::shortName(
'SomeVendor\SomePlugin\Controller\Component\TestComponent',
'Controller/Component',
'Component'
) Возвращает: SomeVendor/SomePlugin.Test
App::shortName(
'SomeVendor\SomePlugin\Controller\Component\Subfolder\TestComponent',
'Controller/Component',
'Component'
) Возвращает: SomeVendor/SomePlugin.Subfolder/Test
App::shortName(
'Cake\Controller\Component\AuthComponent',
'Controller/Component',
'Component'
) Возвращает: Auth
Параметры
- строка
$class - Имя класса
- строка
$type - Тип класса
- строка
$suffixнеобязательно '' - Суффикс имени класса
Возвращает
строкаИмя плагина, разделенное по слешам, для класса
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Core.App.html