Класс CommandTask
Базовый класс для рефлексии команд Shell.
- Объект
-
Shell -
AppShell -
CommandTask
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: Cake/Console/Command/Task/CommandTask.php
Унаследованные константы
Унаследованные свойства
-
OptionParser,Tasks,_helpers,_lastWritten,_taskMap,args,command,interactive,modelClass,name,params,plugin,stderr,stdin,stdout,taskNames,tasks,uses
Краткое описание методов
- _appendShells() protectedСканирует указанные пути для поиска шеллов и добавляет их в $shellList
- commands() publicВозвращает список всех команд
- getShell() publicПолучает экземпляр Shell для данной команды
- getShellList() publicПолучает список команд shell.
- options() publicПолучает экземпляр Shell для данной команды
- subCommands() publicВозвращает список подкоманд для данной команды
Подробное описание методов
_appendShells()source protected
_appendShells( string $type , array $shells , array $shellList )
Сканирует указанные пути для поиска шеллов и добавляет их в $shellList
Параметры
- строка
$type - Тип объекта.
- массив
$shells - Имя шелла.
- массив
$shellList - $shellList Список шеллов.
getShell()source public
getShell( mixed $commandName )
Получает экземпляр Shell для данной команды
Параметры
- смешанный
$commandName - Команда, которую вы хотите получить.
Возвращаемое значение
смешанныйgetShellList()source public
getShellList( )
Получает список команд shell.
Возвращаемое значение
массивoptions()source public
options( mixed $commandName )
Получает экземпляр Shell для данной команды
Параметры
- смешанный
$commandName - Команда, для которой нужно получить опции.
Возвращаемое значение
массивsubCommands()source public
subCommands( string $commandName )
Возвращает список подкоманд для данной команды
Параметры
- строка
$commandName - Команда, для которой нужно получить подкоманды.
Возвращаемое значение
массивМетоды, унаследованные от Shell
__construct()source public
__construct( ConsoleOutput $stdout null , ConsoleOutput $stderr null , ConsoleInput $stdin null )
Конструирует экземпляр Shell.
Параметры
-
ConsoleOutput$stdoutнеобязательно null - Объект ConsoleOutput для стандартного вывода.
-
ConsoleOutput$stderrнеобязательно null - Объект ConsoleOutput для стандартного потока ошибок.
-
ConsoleInput$stdinнеобязательно null - Объект ConsoleInput для стандартного ввода.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#ShellПереопределяет
Object::__construct() __get()source public
__get( string $name )
Перегрузка get для ленивой сборки задач
Параметры
- строка
$name - Имя свойства для доступа.
Возвращаемое значение
ShellОбъект Task
__isset()source public
__isset( string $name )
Ленизагружает модели с помощью метода loadModel(), если объявлен в $uses
Параметры
- строка
$name - Имя модели для поиска.
_checkUnitTest()source protected
_checkUnitTest( )
Действие для создания Unit Test
Возвращаемое значение
логическое значениеУспех
_controllerName()source protected
_controllerName( string $name )
Создает правильное множественное имя контроллера для указанного имени класса контроллера
Параметры
- строка
$name - Имя класса контроллера
Возвращаемое значение
строкаМножественное имя контроллера
_controllerPath()source protected
_controllerPath( string $name )
Создает правильный путь к контроллеру для указанного имени класса контроллера
Параметры
- строка
$name - Имя класса контроллера
Возвращаемое значение
строкаПуть к контроллеру
_displayHelp()source protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- строка
$command - Команда, для которой нужно получить справку.
_getInput()source protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив
$options - Массив или строка опций.
- строка
$default - Значение ввода по умолчанию.
Возвращаемое значение
Либозначение по умолчанию, либо введённое пользователем.
_loadModels()source protected
_loadModels( )
Если $uses массив, загрузить каждую модель из массива
Возвращаемое значение
логическое значение_modelKey()source protected
_modelKey( string $name )
Создаёт правильное сокращённое имя модели для ассоциаций
Параметры
- строка
$name - Имя класса модели
Возвращаемое значение
строкаЕдинственное имя модели
_modelName()source protected
_modelName( string $name )
Создаёт правильное имя модели с использованием camelCase (единственное число) для указанного имени.
Параметры
- строка
$name - Имя
Возвращает
строкаИмя модели в формате camelCase и единственного числа
_modelNameFromKey()source protected
_modelNameFromKey( string $key )
Создаёт имя модели из внешнего ключа.
Параметры
- строка
$key - Внешний ключ
Возвращает
строкаИмя модели
_pluginPath()source protected
_pluginPath( string $pluginName )
Находит правильный путь к плагину. Просматривает $pluginPaths для нужного плагина.
Параметры
- строка
$pluginName - Имя плагина (например, DebugKit)
Возвращает
строкаПуть к плагину.
_pluralHumanName()source protected
_pluralHumanName( string $name )
Создаёт множественное человекочитаемое имя, используемое в представлениях.
Параметры
- строка
$name - Имя контроллера
Возвращает
строкаМножественное человекочитаемое имя
_pluralName()source protected
_pluralName( string $name )
Создаёт множественное имя для представлений.
Параметры
- строка
$name - Используемое имя
Возвращает
строкаМножественное имя для представлений
_singularHumanName()source protected
_singularHumanName( string $name )
Создаёт единственное человекочитаемое имя, используемое в представлениях.
Параметры
- строка
$name - Имя контроллера
Возвращает
строкаЕдинственное человекочитаемое имя
_singularName()source protected
_singularName( string $name )
Создаёт единственное имя для использования в представлениях.
Параметры
- строка
$name - Значение множественного числа с нижним подчеркиванием.
Возвращает
строкаИмя
_useLogger()source protected
_useLogger( boolean $enable true )
Используется для включения или выключения вывода потока логирования в stdout и stderr. Если вы не хотите видеть всё, что логируется через CakeLog, в stdout или stderr, вызовите эту функцию с первым параметром false.
Параметры
- логическое значение
$enableнеобязательно true - включать или выключать вывод CakeLog
clear()source public
clear( )
Очистить консоль.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::clearcreateFile()source public
createFile( string $path , string $contents )
Создаёт файл по заданному пути.
Параметры
- строка
$path - Куда поместить файл.
- строка
$contents - Содержимое файла.
Возвращает
логическое значениеУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::createFiledispatchShell()source public
dispatchShell( )
Пересылает команду в другую оболочку. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
С командной строкой:
return $this->dispatchShell('schema create DbAcl');
Избегайте использования этой формы, если у вас есть строковые аргументы с пробелами. Переданная оболочка будет вызвана неправильно. Используйте только эту форму для простого перенаправления команд.
С массивом команд:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry');
Возвращает
смешанный типРезультат работы другой оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::dispatchShellerr()source public
err( string|array $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводит только символ новой строки.
Параметры
- строка|массив
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errerror()source public
error( string $title , string $message null )
Отображает отформатированное сообщение об ошибке и завершает работу приложения со статусом 1.
Параметры
- строка
$title - Заголовок ошибки
- строка
$messageнеобязательно null - Необязательное сообщение об ошибке
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errorgetOptionParser()source public
getOptionParser( )
Возвращает экземпляр парсера опций и настраивает его.
Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвратом.
Возвращает
ConsoleOptionParserСсылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::getOptionParserhasMethod()source public
hasMethod( string $name )
Проверяет, имеет ли данная оболочка вызываемый метод с указанным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
логическое значениеСсылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethodhasTask()source public
hasTask( string $task )
Проверяет, имеет ли данная оболочка задачу с указанным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
логическое значениеУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTaskhelper()source public
helper( string $name )
Загрузить класс вспомогательной оболочки.
Параметры
- строка
$name - Имя класса помощника. Поддерживается синтаксис плагинов.
Возвращает
BaseShellHelperЭкземпляр класса помощника
Выбрасывает
RuntimeExceptionЕсли имя класса некорректно
hr()source public
hr( integer $newlines 0 , integer $width 63 )
Выводит серию символов «минус» в стандартный вывод, служит визуальной разделительной линией.
Параметры
- целое число
$newlinesнеобязательно 0 - Количество новых строк для добавления в начало и конец
- целое число
$widthнеобязательно 63 - Ширина строки, по умолчанию 63
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hrin()source public
in( string $prompt , string|array $options null , string $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка или массив
$optionsнеобязательно null - Массив или строка параметров.
- строка
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращаемое значение
mixedЛибо значение по умолчанию, либо введенное пользователем значение.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::ininitialize()source public
initialize( )
Инициализирует Shell, действует как конструктор для подклассов, позволяет настроить задачи до выполнения shell.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initializeloadModel()source public
loadModel( string $modelClass null , mixed $id null )
Загружает и инициализирует модели, необходимые для этого shell.
Параметры
- строка
$modelClassнеобязательно null - Имя класса модели для загрузки
- смешанный тип
$idнеобязательно null - Изначальный идентификатор, который должен иметь созданный экземпляр класса модели
Возвращаемое значение
mixedtrue, если найдена одиночная модель и создан экземпляр, возвращается ошибка, если модель не найдена.
Исключения
MissingModelExceptionесли класс модели не может быть найден.
loadTasks()source public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращаемое значение
booleannl()source public
nl( integer $multiplier 1 )
Возвращает последовательность одной или нескольких символов новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество раз, которое последовательность символов новой строки должна повторяться
Возвращаемое значение
строкаСсылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::nlout()source 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 - Уровень вывода сообщения, см. выше.
Возвращаемое значение
целое число или булево значениеВозвращает количество байтов, возвращенных при записи в стандартный вывод.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::outoverwrite()source public
overwrite( array|string $message , integer $newlines 1 , integer $size null )
Перезаписывает уже выведенный текст.
Полезно для построения полос прогресса или когда необходимо заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Вы не можете перезаписать текст, содержащий символы новой строки.
Параметры
- массив или строка
$message - Сообщение для вывода.
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления.
- целое число
$sizeнеобязательно null - Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращаемое значение
целое число или булево значениеВозвращает количество байтов, возвращенных при записи в стандартный вывод.
param()source public
param( string $name )
Безопасно получает значения из $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращаемое значение
строка, булево значение или nullЗначение. Возвращает null, если параметр не существует.
runCommand()source public
runCommand( string $command , array $argv )
Выполняет shell с предоставленным argv.
Делегирует вызовы Task и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в shell.
- Совпадающее имя задачи.
-
main()метод.
Если shell реализует main() метод, все отсутствующие вызовы методов отправляются в main() с исходным именем метода в argv.
Параметры
- строка
$command Имя команды для выполнения в этом shell. Если этот аргумент пустой, и у shell есть
main()метод, он будет вызван вместо него.- массив
$argv - Массив аргументов для выполнения shell. В этом массиве должно отсутствовать имя shell.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::runCommandshortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читабельным.
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращаемое значение
строкакороткое имя пути
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Запускает Shell и отображает приветственное сообщение. Позволяет проверять и настраивать параметры до выполнения команды или основного выполнения.
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток до выполнения команды.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::startupwrapText()source public
wrapText( string $text , string|integer|array $options array() )
Обрезает текст по ширине. Позволяет указать ширину и отступы для блока текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезать только по словам (пробелы). По умолчанию true. -
indentОтступы с помощью предоставленной строки. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- строка, целое число или массив
$optionsнеобязательно array() - Массив параметров или целое число для обрезки текста по ширине.
Возвращаемое значение
строкаОтформатированный текст с отступами
См. также
CakeText::wrap()Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::wrapTextМетоды, унаследованные от Object
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства объекта $property со свойствами в определении $class. Значение свойства этого класса будет объединено поверх значения $class.
Это обеспечивает некоторую магию DRY, предоставляемую CakePHP. Если вы хотите её отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойств с.
- булево
$normalizeнеобязательно true - Установите в значение true, чтобы запустить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет задать несколько свойств объекта в одной строке кода. Будут установлены только те свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего сценария. Оборачивает exit(), что облегчает тестирование.
Параметры
- целое число или строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Обеспечивает объектно-ориентированную оболочку для call_user_func_array
Параметры
- строка
$method - Имя метода для вызова
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
mixedРезультат вызова метода
log()source 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Успех записи в журнал
requestAction()source 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необязательно array() Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неудаче или содержимое рендеренного действия, если в $extra установлен ключ "return".
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
© 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.8/class-CommandTask.html