Spec-Zone.ru › CakePHP 2.7

Класс Shell

Базовый класс для командно-строковых утилит автоматизации задач программистов.

Объект
Extended by 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
Пакет: Cake\Console
Авторские права: 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 – массив, загрузить каждую модель из массива

Возвращает

boolean
bool

_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
имя
END_OF_DOCUMENT_MARKER

_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

getOptionParsersource public

getOptionParser( )

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

Переопределяя этот метод, вы можете настроить ConsoleOptionParser перед его возвращением.

Возвращает

ConsoleOptionParser
ConsoleOptionParser

Ссылка

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

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
Изначальный идентификатор класса модели, который должен иметь созданный экземпляр

Возвращает

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
END_OF_DOCUMENT_MARKER

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 означает, что оно будет отображаться только при включенном verbose выводе.

Параметры

строка|массив $message необязательно null
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество добавляемых символов новой строки
целое число $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 )

Перезапись части уже выведенного текста.

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

Предупреждение Нельзя перезаписывать текст, содержащий символы новой строки.

Параметры

массив|строка $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::runCommand

shortPathsource public

shortPath( string $file )

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

Параметры

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

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

string
сокращённый путь

Ссылка

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

startupsource public

startup( )

Запускает оболочку и отображает сообщение приветствия. Позволяет проверять и настраивать перед выполнением команды или основного выполнения.

Переопределите этот метод, если хотите удалить информацию о приветствии или иначе изменить поток до команды.

Ссылка

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

wrapTextsource 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
Успешность записи в журнал
END_OF_DOCUMENT_MARKER

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

Краткое описание свойств

$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

Имя шелла в камелизованном формате.

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-Shell.html

Spec-Zone.ru

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