Spec-Zone.ru › CakePHP 2.7

Класс ConsoleShell

Предоставляет очень базовый «интерактивный» консоль для приложений CakePHP.

Объект
Расширяется Shell
Расширяется AppShell
Расширяется ConsoleShell
Пакет: Cake\Console\Command
Устаревшее: 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
Команда для выполнения.

_exitsource protected

_exit( )

Установить свойство finiished, чтобы цикл в методе main завершился

_findsource protected

_find( mixed $command )

Выполнить поиск

Параметры

смешанное $command
Команда для выполнения.

_isValidModelsource protected

_isValidModel( string $modelToCheck )

Определяет, включена ли указанная модель в список доступных моделей

Параметры

строка $modelToCheck
Модель для проверки.

Возвращает

boolean
true, если это доступная модель, в противном случае false

_loadRoutessource protected

_loadRoutes( )

Перезагружает конфигурацию маршрутов из app/Config/routes.php и компилирует все найденные маршруты

Возвращает

boolean
True, если перезагрузка конфигурации прошла успешно, в противном случае false

_methodsource protected

_method( string $command )

Определяет метод для обработки текущей команды

Параметры

строка $command
Команда для выполнения.

Возвращает

string
или false

_modelssource protected

_models( )

Список всех моделей

_routeToArraysource protected

_routeToArray( mixed $command )

Разбирает строку URL и отображает ее как массив

Параметры

смешанное $command
Команда для выполнения.

_routeToStringsource protected

_routeToString( mixed $command )

Разбирает массив URL и отображает эквивалентный URL как строку

Параметры

смешанное $command
Команда для выполнения.

_routesReloadsource protected

_routesReload( )

Перезагрузить определения маршрутов

_routesShowsource protected

_routesShow( )

Показать все маршруты

_savesource protected

_save( mixed $command )

Сохранить запись

Параметры

смешанное $command
Команда для выполнения.

_unbindsource protected

_unbind( mixed $command )

Отвязать ассоциацию

Параметры

смешанное $command
Команда для выполнения.

getOptionParsersource public

getOptionParser( )

Получает экземпляр парсера опций и настраивает его.

Возвращает

ConsoleOptionParser
ConsoleOptionParser

Переопределяет

Shell::getOptionParser()

helpsource public

help( )

Выводит сообщение справки

mainsource public

main( string $command null )

Переопределить main() для обработки действия

Параметры

строка $command необязательно null
Команда для выполнения.

startupsource public

startup( )

Переопределяет запуск Shell

Переопределяет

Shell::startup()

Наследуемые методы от 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
Успех
END_OF_DOCUMENT_MARKER

_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 является массивом, загружает каждый из моделей в массиве

Возвращает

boolean
bool

_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

_welcomesource protected

_welcome( )

Отображает заголовок для оболочки

clearsource public

clear( )

Очистить консоль

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::clear

createFilesource public

createFile( string $path , string $contents )

Создаёт файл по заданному пути

Параметры

string $path
Куда поместить файл.
string $contents
Содержимое файла.

Возвращает

boolean
Успешно

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::createFile

dispatchShellsource 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::dispatchShell

errsource 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::err

errorsource 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::error
END_OF_DOCUMENT_MARKER

hasMethodsource public

hasMethod( string $name )

Проверка наличия вызываемого метода с заданным именем в этом шелле.

Параметры

string $name
Имя метода для проверки.

Возвращаемое значение

boolean
bool

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethod

hasTasksource public

hasTask( string $task )

Проверка наличия задачи с заданным именем в этом шелле.

Параметры

string $task
Имя задачи для проверки.

Возвращаемое значение

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTask

hrsource 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::hr

insource 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::in

initializesource public

initialize( )

Инициализирует Shell, действует как конструктор для подклассов, позволяет настроить задачи перед выполнением шелла.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initialize

loadModelsource public

loadModel( string $modelClass null , mixed $id null )

Загружает и инициализирует модели, необходимые для этого шелла.

Параметры

string $modelClass необязательно null
Имя класса модели для загрузки
mixed $id необязательно null
Изначальный ID, который должна иметь инициализированная модель

Возвращаемое значение

mixed
true, если найдена одиночная модель и создан экземпляр, возвращается ошибка, если модель не найдена.

Вызывает исключение

MissingModelException
если класс модели не может быть найден.

loadTaskssource public

loadTasks( )

Загружает задачи, определённые в public $tasks

Возвращаемое значение

boolean
bool

nlsource public

nl( integer $multiplier 1 )

Возвращает последовательность одной или нескольких символов новой строки.

Параметры

integer $multiplier необязательно 1
Число повторений последовательности символов новой строки

Возвращаемое значение

string
string

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::nl

outsource 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::out

overwritesource 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::runCommand

shortPathsource public

shortPath( string $file )

Делает абсолютный путь к файлу более читаемым.

Параметры

string $file
Абсолютный путь к файлу

Возвращаемое значение

string
Короткий путь

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPath
END_OF_DOCUMENT_MARKER

wrapTextsource 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

Резюме свойств

$_finishedsource

protected смешанный

_finished

Этот шелл постоянный, установка этого свойства в true завершает процесс

false

$_methodPatternssource

protected массив

_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('hasOne', 'hasMany', 'belongsTo', 'hasAndBelongsToMany')

$badCommandCharssource

public массив

Символы, описывающие недопустимые команды

array('$', ';')

$modelssource

public массив

Доступные модели

array()

Свойства, унаследованные от Shell

$OptionParsersource

public ConsoleOptionParser

Экземпляр ConsoleOptionParser, настроенный для этого класса.

$Taskssource

public TaskCollection

Коллекция задач для команды, используемая для создания задач.

$_lastWrittensource

protected integer

Количество байтов, последним записанных в поток вывода, используется при перезаписи предыдущего сообщения.

$_taskMapsource

protected string

Нормализованный массив задач.

array()

$argssource

public array

Содержит аргументы, проанализированные из командной строки.

array()

$commandsource

public string

Команда (метод/задача), которая выполняется.

$interactivesource

public boolean

Если true, скрипт запросит разрешение на выполнение действий.

true

$modelClasssource

public string

Основное имя класса модели этого шелла, первая модель в свойстве $uses.

null

$namesource

public string

Имя шелла в camelized формате.

null

$paramssource

public array

Содержит параметры команд, проанализированные из командной строки.

array()

$pluginsource

public string

Имя плагина, к которому принадлежит шелл. Автоматически устанавливается ShellDispatcher при создании шелла.

null

$stderrsource

public ConsoleOutput

Объект stderr.

$stdinsource

public ConsoleInput

Объект stdin

$stdoutsource

public ConsoleOutput

Объект stdout.

$taskNamessource

public array

Содержит загруженные задачи.

array()

$taskssource

public array

Содержит задачи для загрузки и инициализации.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$tasks
array()

$usessource

public array

Содержит модели для загрузки и инициализации.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$uses
array()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API