Класс Shell
Базовый класс для командно-строковых утилит автоматизации задач программистов.
- Объект
-
Shell
Непосредственные известные подклассы
AppShell, TestShellКосвенные известные подклассы
AclShell, ApiShell, ExtractTask, FixtureTask, I18nShell, ModelTask, PluginTask, ProjectTask, SchemaShell, ServerShell, TemplateTask, TestsuiteShell, BakeShell, TestTaskUpgradeShell, ViewTask, BakeTask, CommandListShell, CommandTask, CompletionShell, ConsoleShell, ControllerTask, DbConfigTaskАвторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположено в Cake/Console/Shell.php
Подробное описание методов
__constructsource 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() __getsource public
__get( string $name )
Перегрузка get для ленивой загрузки задач
Параметры
- строка
$name - Имя свойства для доступа.
Возвращает
ShellОбъект Task
__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 – массив, загрузить каждую модель из массива
Возвращает
booleanbool
_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. Если вы не хотите видеть все, что регистрируется через CakeLog, в stdout или stderr, вызовите эту функцию с первым параметром 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( )
Инициализирует Shell, выполняет роль конструктора для подклассов, позволяет настроить задачи до выполнения оболочки.
Ссылка
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 - Количество раз, которое последовательность символов перевода строки должна повторяться
Возвращает
stringstring
Ссылка
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 означает, что оно будет отображаться только при включенном 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Методы, унаследованные от Object
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства объекта $property со свойствами в определении $class. Значение свойств этого класса объединяется поверх свойств $class'.
Это предоставляет некоторую магию DRY, предоставляемую 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() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет OO оболочку для 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Имя этого класса
Резюме констант
integer | CODE_ERROR Значение по умолчанию для кода ошибки | 1 |
integer | NORMAL Константа вывода для создания обычных оболочек. | 1 |
integer | QUIET Константы вывода для создания тихих оболочек. | 0 |
integer | VERBOSE Константа вывода для создания подробных оболочек. | 2 |
Краткое описание свойств
© 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-Shell.html