Класс AppShell
Оболочка приложения
Добавьте свои методы, относящиеся ко всему приложению, в класс ниже, ваши оболочки будут их наследовать.
- Объект
-
Оболочка -
AppShell
Непосредственные известные подклассы
AclShell, ApiShell, I18nShell, PluginTask, ProjectTask, SchemaShell, ServerShell, TemplateTask, UpgradeShell, BakeShell, BakeTask, CommandListShell, CommandTask, CompletionShell, ConsoleShell, DbConfigTask, ExtractTaskКосвенные известные подклассы
ControllerTask, FixtureTask, ModelTask, TestTask, ViewTaskАвторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение Console/Command/AppShell.php
Методы, унаследованные от Оболочка
__constructsource public
__construct( ConsoleOutput $stdout null , ConsoleOutput $stderr null , ConsoleInput $stdin null )
Создаёт экземпляр этой оболочки.
Параметры
-
ConsoleOutput$stdoutнеобязательный null - Объект ConsoleOutput для вывода в стандартный поток вывода.
-
ConsoleOutput$stderrнеобязательный null - Объект ConsoleOutput для вывода в стандартный поток ошибок.
-
ConsoleInput$stdinнеобязательный null - Объект ConsoleInput для стандартного ввода.
Ссылка
http://book.cakephp.org/2.0/en/console-and-shells.html#ShellПереопределяет
Object::__construct() __getsource public
__get( string $name )
Перегрузка get для ленивого создания задач
Параметры
- строка
$name - Имя свойства для доступа.
Возвращает
ShellОбъект задачи
__issetsource public
__isset( string $name )
Ленито загружает модели, используя метод loadModel(), если объявлены в $uses
Параметры
- строка
$name - Имя модели для поиска.
_checkUnitTestsource protected
_checkUnitTest( )
Действие по созданию модульного теста
Возвращает
booleanУспешно
_controllerNamesource protected
_controllerName( string $name )
Создаёт правильное множественное имя контроллера для указанного имени класса контроллера
Параметры
- строка
$name - Имя класса контроллера
Возвращает
stringМножественное имя контроллера
_controllerPathsource protected
_controllerPath( string $name )
Создаёт правильный путь к контроллеру для указанного имени класса контроллера
Параметры
- строка
$name - Имя класса контроллера
Возвращает
stringПуть к контроллеру
_displayHelpsource protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- строка
$command - Команда, для которой требуется справка.
_getInputsource protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка/массив
$options - Массив или строка параметров.
- строка
$default - Значение ввода по умолчанию.
Возвращает
Eitherзначение по умолчанию или введённое пользователем.
_loadModelssource protected
_loadModels( )
Если $uses – массив, загрузить каждую из моделей в массиве
Возвращает
booleanлогическое значение
_modelKeysource protected
_modelKey( string $name )
Создаёт правильное подчеркнутое имя модели для ассоциаций
Параметры
- строка
$name - Имя класса модели
Возвращает
stringЕдиничное имя модели
_modelNamesource protected
_modelName( string $name )
Создаёт правильное именованное имя модели (единственное число) для указанного имени
Параметры
- строка
$name - Имя
Возвращает
stringИменованное имя модели (единственное число)
_modelNameFromKeysource protected
_modelNameFromKey( string $key )
Создаёт правильное имя модели из внешнего ключа
Параметры
- строка
$key - Внешний ключ
Возвращает
stringИмя модели
_pluginPathsource protected
_pluginPath( string $pluginName )
Находит правильный путь к плагину. Просматривает $pluginPaths для нужного плагина.
Параметры
- строка
$pluginName - Имя плагина, например DebugKit
Возвращает
stringПуть к плагину.
_pluralHumanNamesource protected
_pluralHumanName( string $name )
Создаёт множественное человекочитаемое имя, используемое в представлениях
Параметры
- строка
$name - Имя контроллера
Возвращает
stringМножественное человекочитаемое имя
_pluralNamesource protected
_pluralName( string $name )
Создаёт множественное имя для представлений
Параметры
- строка
$name - Используемое имя
Возвращает
stringМножественное имя для представлений
_singularHumanNamesource protected
_singularHumanName( string $name )
Создаёт единственное человекочитаемое имя, используемое в представлениях
Параметры
- строка
$name - Имя контроллера
Возвращает
stringЕдинственное человекочитаемое имя
_singularNamesource protected
_singularName( string $name )
создаёт единственное имя для использования в представлениях.
Параметры
- строка
$name - Множественное значение с подчеркиванием.
Возвращает
stringимя
_useLoggersource protected
_useLogger( boolean $enable true )
Используется для включения или отключения вывода потока регистрации в stdout и stderr. Если вы не хотите видеть в stdout или stderr все, что регистрируется через CakeLog, вызовите эту функцию с первым параметром false.
Параметры
- boolean
$enableнеобязательно true - включить или выключить вывод CakeLog
clearsource public
clear( )
Очистить консоль
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::clearcreateFilesource public
createFile( string $path , string $contents )
Создаёт файл по заданному пути.
Параметры
- string
$path - Куда поместить файл.
- string
$contents - Содержание файла.
Возвращает
booleanУспешно
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::createFiledispatchShellsource public
dispatchShell( )
Отправить команду другой оболочке. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
С текстовой командой:
return $this->dispatchShell('schema create DbAcl');
Избегайте использования этого формата, если у вас есть строковые аргументы с пробелами в них. Отправленная оболочка будет запущена некорректно. Используйте этот формат только для простого диспетчеризации команд.
С массивом команд:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry');
Возвращает
mixedРезультат работы другой оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::dispatchShellerrsource public
err( string|array $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только новая строка.
Параметры
- string|array
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество новых строк для добавления
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errerrorsource public
error( string $title , string $message null )
Отображает отформатированное сообщение об ошибке и завершает работу приложения со статусом 1.
Параметры
- string
$title - Заголовок ошибки
- string
$messageнеобязательно null - Необязательное сообщение об ошибке
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errorgetOptionParsersource public
getOptionParser( )
Получает экземпляр обработчика опций и настраивает его.
Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвратом.
Возвращает
ConsoleOptionParserConsoleOptionParser
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::getOptionParserhasMethodsource public
hasMethod( string $name )
Проверяет, есть ли в этой оболочке вызываемый метод с заданным именем.
Параметры
- string
$name - Имя проверяемого метода.
Возвращает
booleanbool
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethodhasTasksource public
hasTask( string $task )
Проверяет, есть ли в этой оболочке задача с заданным именем.
Параметры
- string
$task - Имя проверяемой задачи.
Возвращает
booleanУспешно
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTaskhrsource public
hr( integer $newlines 0 , integer $width 63 )
Выводит серию символов минус в стандартный вывод, используется в качестве визуального разделителя.
Параметры
- integer
$newlinesнеобязательно 0 - Количество новых строк до и после
- integer
$widthнеобязательно 63 - Ширина линии, по умолчанию 63
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hrinsource public
in( string $prompt , string|array $options null , string $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- string
$prompt - Текст запроса.
- string|array
$optionsнеобязательно null - Массив или строка вариантов.
- string
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
mixedЗначение по умолчанию или ввод пользователя.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::ininitializesource public
initialize( )
Инициализирует оболочку, действует как конструктор для подклассов, позволяет настраивать задачи перед выполнением оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initializeloadModelsource public
loadModel( string $modelClass null , mixed $id null )
Загружает и создаёт модели, необходимые для этой оболочки.
Параметры
- string
$modelClassнеобязательно null - Имя класса модели для загрузки
- mixed
$idнеобязательно null - Начальный идентификатор, который должен иметь созданный экземпляр модели
Возвращает
mixedtrue, если модель найдена и экземпляр создан, возвращается ошибка, если модель не найдена.
Выбрасывает
MissingModelExceptionесли класс модели не может быть найден.
loadTaskssource public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращает
booleanbool
nlsource public
nl( integer $multiplier 1 )
Возвращает последовательность новой строки или нескольких новых строк.
Параметры
- integer
$multiplierнеобязательно 1 - Количество повторений последовательности новой строки
Возвращает
stringстрока
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::nloutsource public
out( string|array $message null , integer $newlines 1 , integer $level Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют параметрам вывода verbose и quiet в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. Использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- строка|массив
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки
- целое число
$levelнеобязательноShell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в стандартный вывод.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::outoverwritesource public
overwrite( array|string $message , integer $newlines 1 , integer $size null )
Перезаписывает уже выведенный текст.
Полезно для построения полосок прогресса или когда необходимо заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Вы не можете перезаписать текст, содержащий символы новой строки.
Параметры
- массив|строка
$message - Сообщение для вывода.
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки.
- целое число
$sizeнеобязательно null - Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в стандартный вывод.
paramsource public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращаемое значение
string|boolean|nullЗначение. Вернет null, если параметр не существует.
runCommandsource public
runCommand( string $command , array $argv )
Выполняет оболочку с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Параметры
- строка
$command - Имя команды для выполнения в этой оболочке. Если этот аргумент пустой, а в оболочке есть метод
main(), то этот метод будет вызван вместо него. - массив
$argv - Массив аргументов для выполнения оболочки. Этот массив должен быть без имени оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::runCommandshortPathsource public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращаемое значение
stringСокращенный путь
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPathstartupsource public
startup( )
Запускает оболочку и отображает приветственное сообщение. Позволяет проверять и настраивать до выполнения команды или основного исполнения.
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток до команды.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::startupwrapTextsource public
wrapText( string $text , string|integer|array $options array() )
Обрезает текст в блоке. Позволяет установить ширину и отступы в блоке текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезка только по границам слов (пробелы). По умолчанию true. -
indentОтступ текста с помощью предоставленной строки. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- строка|целое число|массив
$optionsнеобязательно array() - Массив опций для использования или целое число для обрезки текста.
Возвращаемое значение
stringОтформатированный текст с отступами
См.
CakeText::wrap()Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::wrapTextНаследованные методы из Объект
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойство $property этого объекта со свойством в определении $class. Значение свойства этого класса будет объединено поверх значения $class'
Это обеспечивает часть магических свойств, предоставляемых CakePHP. Если вы хотите отключить его, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства.
- логическое значение
$normalizeнеобязательно true - Установите в true, чтобы выполнить Hash::normalize() для свойств перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что облегчает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод на этом объекте с заданными параметрами. Предоставляет ОО-обертку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращаемое значение
mixedВозвращает результат вызова метода
logsource public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. См. CakeLog::write() для получения дополнительной информации о записи в журналы.
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null - Область(и) создания сообщения журнала. См. CakeLog::config() для получения дополнительной информации о областях ведения журналов.
Возвращаемое значение
booleanРезультат записи в журнал
requestActionsource public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любой точки. Может использоваться для связи контроллеров или интеграции плагинов в основное приложение. requestAction можно использовать для возврата рендеренных представлений или получения возвращаемого значения действий контроллера.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет смоделировать данные POST.
Параметры
- строка|массив
$url - Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательный массив() - Если массив включает ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращаемое значение
mixedБулевое значение true или false при успехе/неуспехе или содержимое рендеренного действия, если в $extra установлен ключ 'return'.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращаемое значение
stringИмя этого класса
Постоянные значения, унаследованные от Shell
CODE_ERROR, NORMAL, QUIET, VERBOSE |
Свойства, унаследованные от Shell
$OptionParsersource
public ConsoleOptionParser
Экземпляр ConsoleOptionParser, настроенный для этого класса.
$_lastWrittensource
protected целое число
Количество байтов, последний раз записанных в поток вывода, используемое при перезаписи предыдущего сообщения.
$modelClasssource
public строка
Основное имя класса модели этого шелла, первая модель в свойстве $uses.
null $pluginsource
public строка
Имя плагина, к которому принадлежит шелл. Автоматически устанавливается ShellDispatcher при создании шелла.
null $taskssource
public массив
Содержит задачи для загрузки и инициализации.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$tasksarray() $usessource
public массив
Содержит модели для загрузки и инициализации.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$usesarray()
© 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/2.7/class-AppShell.html