Класс ConsoleShell
Предоставляет очень базовый «интерактивный» консоль для приложений CakePHP.
- Объект
-
Shell -
AppShell -
ConsoleShell
Устаревшее: 3.0.0 Устарело начиная с версии 2.4, будет удалено в версии 3.0
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположено по адресу Cake/Console/Command/ConsoleShell.php
Подробное описание методов
_bindsource protected
_bind( mixed $command )
Связать ассоциацию
Параметры
- смешанное
$command - Команда для выполнения.
_columnssource protected
_columns( mixed $command )
Показать столбцы для модели
Параметры
- смешанное
$command - Команда для выполнения.
_findsource protected
_find( mixed $command )
Выполнить поиск
Параметры
- смешанное
$command - Команда для выполнения.
_isValidModelsource protected
_isValidModel( string $modelToCheck )
Определяет, включена ли указанная модель в список доступных моделей
Параметры
- строка
$modelToCheck - Модель для проверки.
Возвращает
booleantrue, если это доступная модель, в противном случае false
_loadRoutessource protected
_loadRoutes( )
Перезагружает конфигурацию маршрутов из app/Config/routes.php и компилирует все найденные маршруты
Возвращает
booleanTrue, если перезагрузка конфигурации прошла успешно, в противном случае false
_methodsource protected
_method( string $command )
Определяет метод для обработки текущей команды
Параметры
- строка
$command - Команда для выполнения.
Возвращает
stringили false
_routeToArraysource protected
_routeToArray( mixed $command )
Разбирает строку URL и отображает ее как массив
Параметры
- смешанное
$command - Команда для выполнения.
_routeToStringsource protected
_routeToString( mixed $command )
Разбирает массив URL и отображает эквивалентный URL как строку
Параметры
- смешанное
$command - Команда для выполнения.
_savesource protected
_save( mixed $command )
Сохранить запись
Параметры
- смешанное
$command - Команда для выполнения.
_unbindsource protected
_unbind( mixed $command )
Отвязать ассоциацию
Параметры
- смешанное
$command - Команда для выполнения.
getOptionParsersource public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Возвращает
ConsoleOptionParserConsoleOptionParser
Переопределяет
Shell::getOptionParser() mainsource public
main( string $command null )
Переопределить main() для обработки действия
Параметры
- строка
$commandнеобязательно null - Команда для выполнения.
Наследуемые методы от Shell
__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Объект задачи
__issetsource public
__isset( string $name )
Лениво загружает модели с помощью метода loadModel(), если объявлены в $uses
Параметры
- строка
$name - Имя модели для поиска.
_checkUnitTestsource protected
_checkUnitTest( )
Действие по созданию модульного теста
Возвращает
booleanУспех
_controllerNamesource protected
_controllerName( string $name )
Создаёт правильное множественное число имени контроллера для указанного имени класса контроллера
Параметры
- string
$name - Имя класса контроллера
Возвращает
stringМножественное число имени контроллера
_controllerPathsource protected
_controllerPath( string $name )
Создаёт правильный путь к контроллеру для указанного имени класса контроллера
Параметры
- string
$name - Имя класса контроллера
Возвращает
stringПуть к контроллеру
_displayHelpsource protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- string
$command - Команда, для которой требуется справка.
_getInputsource protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- string
$prompt - Текст запроса.
- string|array
$options - Массив или строка параметров.
- string
$default - Значение ввода по умолчанию.
Возвращает
EitherЗначение по умолчанию или введенное пользователем значение.
_loadModelssource protected
_loadModels( )
Если $uses является массивом, загружает каждый из моделей в массиве
Возвращает
booleanbool
_modelKeysource protected
_modelKey( string $name )
Создаёт правильный нижнеподчёркнутый ключ модели для ассоциаций
Параметры
- string
$name - Имя класса модели
Возвращает
stringЕдиничное имя ключа модели
_modelNamesource protected
_modelName( string $name )
Создаёт правильное имя модели с использованием камелизации (единственное число) для указанного имени
Параметры
- string
$name - Имя
Возвращает
stringИмя модели с камелизацией и в единственном числе
_modelNameFromKeysource protected
_modelNameFromKey( string $key )
Создаёт правильное имя модели из внешнего ключа
Параметры
- string
$key - Внешний ключ
Возвращает
stringИмя модели
_pluginPathsource protected
_pluginPath( string $pluginName )
Находит правильный путь к плагину. Просматривает $pluginPaths для нужного плагина.
Параметры
- string
$pluginName - Имя плагина (например, DebugKit)
Возвращает
stringПуть к плагину.
_pluralHumanNamesource protected
_pluralHumanName( string $name )
Создаёт множественное число человекочитаемого имени, используемого в представлениях
Параметры
- string
$name - Имя контроллера
Возвращает
stringМножественное число человекочитаемого имени
_pluralNamesource protected
_pluralName( string $name )
Создаёт множественное число имени для представлений
Параметры
- string
$name - Используемое имя
Возвращает
stringМножественное число имени для представлений
_singularHumanNamesource protected
_singularHumanName( string $name )
Создаёт единственное число человекочитаемого имени, используемого в представлениях
Параметры
- string
$name - Имя контроллера
Возвращает
stringЕдинственное число человекочитаемого имени
_singularNamesource protected
_singularName( string $name )
Создаёт единственное число имени для использования в представлениях.
Параметры
- string
$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::errorhasMethodsource 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 - Изначальный ID, который должна иметь инициализированная модель
Возвращаемое значение
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 означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- string|array
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- integer
$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 )
Перезаписывает ранее выведенный текст.
Полезно для построения полосок прогресса или когда нужно заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Нельзя перезаписать текст, содержащий символы новой строки.
Параметры
- array|string
$message - Сообщение для вывода.
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления.
- integer
$sizeнеобязательно null - Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращаемое значение
integer|booleanВозвращает количество байт, возвращенных из записи в стандартный вывод.
paramsource public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- string
$name - Имя параметра для получения.
Возвращаемое значение
string|boolean|nullЗначение. Возвращает null, если параметр не существует.
runCommandsource public
runCommand( string $command , array $argv )
Выполняет Shell с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в шелле.
- Соответствующее имя задачи.
-
main()метод.
Если шелл реализует метод main(), все отсутствующие вызовы методов будут направлены в main() с оригинальным именем метода в argv.
Параметры
- string
$command - Имя команды для выполнения в этом шелле. Если этот аргумент пуст, и в шелле есть метод
main(), он будет вызван вместо этого. - array
$argv - Массив аргументов для выполнения шелла. В этом массиве не должно быть имени шелла.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::runCommandshortPathsource public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым.
Параметры
- string
$file - Абсолютный путь к файлу
Возвращаемое значение
stringКороткий путь
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPathwrapTextsource public
wrapText( string $text , string|integer|array $options array() )
Обернуть блок текста. Позволяет задать ширину и отступы для блока текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезка только по границам слов (пробелы). По умолчанию true. -
indentОтступ текста с помощью заданной строки. По умолчанию null.
Параметры
- строка
$text - Текст, подлежащий форматированию.
- строка|целое число|массив
$optionsнеобязательно массив() - Массив опций для использования или целое число для обрезки текста.
Возвращаемое значение
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необязательно массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_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необязательно массив() - Список параметров для использования при вызове $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 integer
Количество байтов, последним записанных в поток вывода, используется при перезаписи предыдущего сообщения.
$interactivesource
public boolean
Если true, скрипт запросит разрешение на выполнение действий.
true $modelClasssource
public string
Основное имя класса модели этого шелла, первая модель в свойстве $uses.
null $paramssource
public array
Содержит параметры команд, проанализированные из командной строки.
array() $pluginsource
public string
Имя плагина, к которому принадлежит шелл. Автоматически устанавливается ShellDispatcher при создании шелла.
null $taskssource
public array
Содержит задачи для загрузки и инициализации.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$tasksarray() $usessource
public array
Содержит модели для загрузки и инициализации.
Ссылка
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-ConsoleShell.html