Класс ConsoleShell
Предоставляет очень базовый «интерактивный» консоль для приложений CakePHP.
- Объект
-
Оболочка -
AppShell -
ConsoleShell
Устарело: 3.0.0 Устарело начиная с версии 2.4, будет удалено в версии 3.0
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Console/Command/ConsoleShell.php
Унаследованные константы
Резюме свойств
-
$_finishedprotected_finishedmixed -
$_methodPatternsprotected_methodPatternsarray -
$associationspublicДоступные типы привязкиarray -
$badCommandCharspublicСимволы, описывающие недопустимые командыarray -
$modelspublicДоступные моделиarray
Унаследованные свойства
-
OptionParser,Tasks,_helpers,_lastWritten,_taskMap,args,command,interactive,modelClass,name,params,plugin,stderr,stdin,stdout,taskNames,tasks,uses
Резюме методов
- _bind() protectedПривязать ассоциацию
- _columns() protectedПоказать столбцы для модели
- _exit() protectedУстановить свойство finiished, чтобы цикл в методе main завершился
- _find() protectedВыполнить поиск
- _isValidModel() protectedУказывает, входит ли указанная модель в список доступных моделей
- _loadRoutes() protected
Перезагружает конфигурацию маршрутов из app/Config/routes.php и компилирует все найденные маршруты
- _method() protectedОпределить метод для обработки текущей команды
- _models() protectedСписок всех моделей
- _routeToArray() protectedРазбор строкового URL и отображение в виде массива
- _routeToString() protectedРазбор массива URL и отображение эквивалентного URL в виде строки
- _routesReload() protectedПерезагрузить определения маршрутов
- _routesShow() protectedПоказать все маршруты
- _save() protectedСохранить запись
- _unbind() protectedОтвязать ассоциацию
- getOptionParser() publicПолучает экземпляр анализатора опций и настраивает его.
- help() publicВыводит сообщение справки
- main() publicПереопределить main() для обработки действия
- startup() publicПереопределить запуск оболочки
Подробное описание методов
_bind()source protected
_bind( mixed $command )
Привязать ассоциацию
Параметры
- mixed
$command - Команда для выполнения.
_columns()source protected
_columns( mixed $command )
Показать столбцы для модели
Параметры
- mixed
$command - Команда для выполнения.
_find()source protected
_find( mixed $command )
Выполнить поиск
Параметры
- mixed
$command - Команда для выполнения.
_isValidModel()source protected
_isValidModel( string $modelToCheck )
Указывает, входит ли указанная модель в список доступных моделей
Параметры
- string
$modelToCheck - Модель для проверки.
Возвращает
booleantrue, если это доступная модель, иначе false
_loadRoutes()source protected
_loadRoutes( )
Перезагружает конфигурацию маршрутов из app/Config/routes.php и компилирует все найденные маршруты
Возвращает
booleanTrue, если перезагрузка конфигурации прошла успешно, иначе false
_method()source protected
_method( string $command )
Определить метод для обработки текущей команды
Параметры
- string
$command - Команда для выполнения.
Возвращает
stringили false
_routeToArray()source protected
_routeToArray( mixed $command )
Разбор строкового URL и отображение в виде массива
Параметры
- mixed
$command - Команда для выполнения.
_routeToString()source protected
_routeToString( mixed $command )
Разбор массива URL и отображение эквивалентного URL в виде строки
Параметры
- mixed
$command - Команда для выполнения.
_save()source protected
_save( mixed $command )
Сохранить запись
Параметры
- mixed
$command - Команда для выполнения.
_unbind()source protected
_unbind( mixed $command )
Отвязать ассоциацию
Параметры
- смешанный
$command - Команда для выполнения.
getOptionParser()source public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Возвращает
ConsoleOptionParserПереопределяет
Shell::getOptionParser() main()source public
main( string $command null )
Переопределяет main() для обработки действия
Параметры
- строка
$commandдополнительно null - Команда для выполнения.
Методы, унаследованные от 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Объект задачи
__isset()source public
__isset( string $name )
Ленито загружает модели с помощью метода loadModel(), если объявлены в $uses
Параметры
- строка
$name - Имя модели для поиска.
_checkUnitTest()source protected
_checkUnitTest( )
Действие по созданию модульного теста
Возвращает
booleanУспех
_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 - массив, загружает каждую модель из массива
Возвращает
boolean_modelKey()source protected
_modelKey( string $name )
Создаёт правильное подчеркнутое имя модели для ассоциаций
Параметры
- строка
$name - Имя класса модели
Возвращает
строкаЕдинственное имя модели
_modelName()source protected
_modelName( string $name )
Создаёт правильное именованное (единственное число) имя модели для указанного имени
Параметры
- строка
$name - Имя
Возвращает
строкаИменованное и единственное имя модели
_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
Параметры
- boolean
$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 )
Создаёт файл по заданному пути
Параметры
- string
$path - Куда поместить файл.
- string
$contents - Содержимое файла.
Возвращает
booleanУспех
Ссылка
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');
Возвращает
mixedРезультат работы другой оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::dispatchShellerr()source 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::errerror()source 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::errorhasMethod()source public
hasMethod( string $name )
Проверяет, есть ли в этой оболочке вызываемый метод с заданным именем.
Параметры
- string
$name - Имя проверяемого метода.
Возвращает
booleanСсылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethodhasTask()source public
hasTask( string $task )
Проверяет, есть ли в этой оболочке задача с указанным именем.
Параметры
- string
$task - Имя проверяемой задачи.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTaskhelper()source public
helper( string $name )
Загрузить заданный класс помощника оболочки
Параметры
- string
$name - Имя класса помощника. Поддерживает синтаксис плагинов.
Возвращает
BaseShellHelperЭкземпляр класса помощника
Исключения
RuntimeExceptionЕсли указано недопустимое имя класса
hr()source 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::hrin()source 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::ininitialize()source public
initialize( )
Инициализирует оболочку, действует как конструктор для подклассов, позволяет настроить задачи до выполнения оболочки
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initializeloadModel()source public
loadModel( string $modelClass null , mixed $id null )
Загружает и инициализирует модели, необходимые для этой оболочки.
Параметры
- string
$modelClassнеобязательный null - Имя класса модели для загрузки
- mixed
$idнеобязательный null - Начальный ID, который должен иметь созданный экземпляр класса модели
Возвращает
mixedtrue, если найдена единственная модель и создан экземпляр, возвращает ошибку, если модель не найдена.
Исключения
MissingModelExceptionесли класс модели не найден.
loadTasks()source public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращает
booleannl()source public
nl( integer $multiplier 1 )
Возвращает последовательность одной или нескольких символов новой строки.
Параметры
- integer
$multiplierнеобязательный 1 - Количество раз, которое последовательность новой строки должна повторяться
Возвращает
stringСсылка
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 )
Выполняет оболочку с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.
Параметры
- строка
$command Имя команды для выполнения в этой оболочке. Если этот аргумент пустой, и оболочка имеет метод
main(), этот метод будет вызван вместо этого.- массив
$argv - Массив аргументов для выполнения оболочки. В этом массиве должно отсутствовать имя оболочки.
Ссылка
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::shortPathwrapText()source public
wrapText( string $text , string|integer|array $options array() )
Обтекание блока текста. Позволяет установить ширину и отступы в блоке текста.
Параметры
-
widthШирина обтекания. По умолчанию 72 -
wordWrapОбтекание только по словам (пробелы). По умолчанию true. -
indentОтступы текста с помощью предоставленной строки. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- строка|целое число|массив
$optionsнеобязательно массив() - Массив параметров или целое число для обтекания текста.
Возвращаемое значение
строкаОбтекаемый/отступленный текст
См.
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необязательно массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_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необязательно массив() - Список параметров для использования при вызове $method
Возвращаемое значение
смешанный типВозвращает результат вызова метода
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().
Возвращаемое значение
логическое значениеУспешность записи в журнал
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.
Параметры
- string|array
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- array
$extraoptional array() Если массив включает ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST, а также именованных/переданных аргументов.
Возвращаемое значение
mixedБулево значение true или false при успехе/неудаче или содержимое рендеренного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод при необходимости.
Возвращаемое значение
stringИмя этого класса
Подробности свойств
$_finishedsource
protected mixed
_finished
Этот shell постоянный, установка этого свойства в true завершает процесс
false
$_methodPatternssource
protected array
_methodPatterns
array(
'help' => '/^(help|\?)/',
'_exit' => '/^(quit|exit)/',
'_models' => '/^models/i',
'_bind' => '/^(\w+) bind (\w+) (\w+)/',
'_unbind' => '/^(\w+) unbind (\w+) (\w+)/',
'_find' => '/.+->find/',
'_save' => '/.+->save/',
'_columns' => '/^(\w+) columns/',
'_routesReload' => '/^routes\s+reload/i',
'_routesShow' => '/^routes\s+show/i',
'_routeToString' => '/^route\s+(\(.*\))$/i',
'_routeToArray' => '/^route\s+(.*)$/i',
) $associationssource
public array
Доступные типы связей
array('hasOne', 'hasMany', 'belongsTo', 'hasAndBelongsToMany')
© 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-ConsoleShell.html