Класс BakeShell
Утилита командной строки для генерации кода, автоматизирующая рутинные задачи программистов.
Bake — это скрипт генерации кода CakePHP, который может помочь вам начать разработку приложения, создавая полностью функциональные каркасные контроллеры, модели и представления. Кроме того, Bake может генерировать для вас тесты.
- Объект
-
Оболочка -
AppShell -
BakeShell
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Ссылка: http://book.cakephp.org/2.0/ru/console-and-shells/code-generation-with-bake.html
Расположение: Cake/Console/Command/BakeShell.php
Подробное описание методов
getOptionParserисходный код public
getOptionParser( )
Получает экземпляр парсера параметров и настраивает его.
Возвращает
ConsoleOptionParserConsoleOptionParser
Переопределяет
Shell::getOptionParser() mainисходный код public
main( )
Переопределить main() для обработки действия
Возвращает
mixedсмешанный тип
startupисходный код public
startup( )
Назначить $this->connection активной задаче, если параметр подключения задан.
Переопределяет
Shell::startup() Наследуемые методы из Shell
__constructисходный код public
__construct( ConsoleOutput $stdout null , ConsoleOutput $stderr null , ConsoleInput $stdin null )
Создаёт экземпляр этой оболочки.
Параметры
-
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исходный код public
__get( string $name )
Перегрузка get для ленивой сборки задач
Параметры
- строка
$name - Имя свойства для доступа.
Возвращает
ShellОбъект задачи
__issetисходный код public
__isset( string $name )
Ленично загружает модели, используя метод loadModel(), если они объявлены в $uses
Параметры
- строка
$name - Имя модели для поиска.
_checkUnitTestисходный код protected
_checkUnitTest( )
Действие по созданию теста
Возвращает
booleanУспех
_controllerNameисходный код protected
_controllerName( string $name )
Создаёт правильное множественное имя контроллера для указанного имени класса контроллера
Параметры
- строка
$name - Имя класса контроллера
Возвращает
stringМножественное имя контроллера
_controllerPathисходный код protected
_controllerPath( string $name )
Создаёт правильный путь к контроллеру для указанного имени класса контроллера
Параметры
- строка
$name - Имя класса контроллера
Возвращает
stringПуть к контроллеру
_displayHelpисходный код protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- строка
$command - Команда для получения справки.
_getInputисходный код protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка/массив
$options - Массив или строка опций.
- строка
$default - Значение ввода по умолчанию.
Возвращает
Eitherзначение по умолчанию или введённое пользователем.
_loadModelsисходный код protected
_loadModels( )
Если $uses — массив, загрузить каждую из моделей в массиве
Возвращает
booleanbool
_modelKeyисходный код protected
_modelKey( string $name )
Создаёт правильное нижнее подчёркивание ключа модели для ассоциаций
Параметры
- строка
$name - Имя класса модели
Возвращает
stringЕдинственное имя ключа модели
_modelNameисходный код protected
_modelName( string $name )
Создаёт правильное имя модели с верблюжьей нотацией (единственное) для указанного имени
Параметры
- строка
$name - Имя
Возвращает
stringИмя модели с верблюжьей нотацией и единственное
_modelNameFromKeyисходный код protected
_modelNameFromKey( string $key )
Создаёт имя модели из внешнего ключа
Параметры
- строка
$key - Внешний ключ
Возвращает
stringИмя модели
_pluginPathисходный код protected
_pluginPath( string $pluginName )
Находит правильный путь для плагина. Ищет плагин в $pluginPaths.
Параметры
- строка
$pluginName - Имя плагина (например, DebugKit)
Возвращает
stringПуть к плагину.
_pluralHumanNameисходный код protected
_pluralHumanName( string $name )
Создаёт множественное человекочитаемое имя, используемое в представлениях
Параметры
- строка
$name - Имя контроллера
Возвращает
stringМножественное человекочитаемое имя
_pluralNameисходный код protected
_pluralName( string $name )
Создаёт множественное имя для представлений
Параметры
- строка
$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( )
Инициализирует оболочку, выступает в качестве конструктора для подклассов, позволяет настроить задачи до выполнения оболочки.
Ссылка
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 )
Возвращает последовательность одной или нескольких символов новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество повторений последовательности новой строки
Возвращаемое значение
stringстрока
Ссылка
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::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Наследованные методы из Объекта
_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 целое число
Количество байтов, последний раз записанных в поток вывода, используемое при перезаписи предыдущего сообщения.
$interactivesource
public boolean
Если true, скрипт запросит разрешение на выполнение действий.
true $modelClasssource
public строка
Основное имя класса модели этого шелла, первая модель в свойстве $uses
null $pluginsource
public строка
Имя плагина, к которому принадлежит шелл. Автоматически устанавливается ShellDispatcher при создании шелла.
null $usessource
public массив
Содержит модели для загрузки и инициализации
Ссылка
http://book.cakephp.org/2.0/en/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-BakeShell.html