Класс ControllerTask
Класс задач для создания и обновления файлов контроллеров.
- Объект
-
Shell -
AppShell -
BakeTask -
ControllerTask
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: Cake/Console/Command/Task/ControllerTask.php
Наследуемые константы
Резюме свойств
-
$pathpublicпуть к каталогу контроллеровarray -
$taskspublicЗадачи, которые должны быть загружены этой задачейarray
Наследуемые свойства
-
connection,interactive,pluginOptionParser,Tasks,_helpers,_lastWritten,_taskMap,args,command,modelClass,name,params,stderr,stdin,stdout,taskNames,uses
Резюме методов
- _askAboutMethods() protectedВзаимодействие с пользователем и запрос о том, какие методы (админские или обычные) необходимо создать
- _doPropertyChoices() protectedОбщий код для обработки выбора свойств.
- _interactive() protectedИнтерактивный
- all() publicСоздать все контроллеры сразу. Создаст контроллеры только для существующих моделей.
- bake() publicСобирает и записывает файл контроллера
- bakeActions() publicСоздает действия шаблона
- bakeTest() publicСобирает и записывает файл модульного теста
- confirmController() publicПодтверждает контроллер для создания с пользователем
- doComponents() publicВзаимодействие с пользователем и получение списка дополнительных компонентов
- doHelpers() publicВзаимодействие с пользователем и получение списка дополнительных помощников
- execute() publicМетод выполнения, всегда используемый для задач
- getName() publicПринуждает пользователя указать контроллер, который он хочет создать, и возвращает выбранное имя контроллера.
- getOptionParser() publicПолучает экземпляр анализатора параметров и настраивает его.
- initialize() publicПереопределить инициализацию
- listAll() publicВыводит и получает список возможных контроллеров из базы данных
Подробное описание методов
_askAboutMethods()source protected
_askAboutMethods( )
Взаимодействие с пользователем и запрос о том, какие методы (админские или обычные) необходимо создать
Возвращает
массивМассив содержащий ответы (bakeRegular, bakeAdmin)
_doPropertyChoices()source protected
_doPropertyChoices( string $prompt , string $example )
Общий код для обработки выбора свойств.
Параметры
- строка
$prompt - Вопрос «да/нет» для предваряющего списка
- строка
$example - Вопрос для списка через запятую с примерами.
Возвращает
массивМассив значений для свойства.
all()source public
all( )
Создать все контроллеры сразу. Создаст контроллеры только для существующих моделей.
bake()source public
bake( string $controllerName , string $actions '' , array $helpers null , array $components null )
Собирает и записывает файл контроллера
Параметры
- строка
$controllerName - Имя контроллера уже в множественном числе и с правильным регистром.
- строка
$actionsoptional '' - Действия для добавления или установка всего контроллера для использования $scaffold (установите $actions в «scaffold»)
- массив
$helpersoptional null - Помощники для использования в контроллере
- массив
$componentsoptional null - Компоненты для использования в контроллере
Возвращает
строкаСозданный контроллер
bakeActions()source public
bakeActions( string $controllerName , string $admin null , boolean $wannaUseSession true )
Создает действия шаблона
Параметры
- строка
$controllerName - Имя контроллера
- строка
$adminoptional null - Админ маршрут для использования
- булево
$wannaUseSessionoptional true - Установить в true, чтобы использовать сессии, в противном случае false
Возвращает
строкаСозданные действия
bakeTest()source public
bakeTest( string $className )
Собирает и записывает файл модульного теста
Параметры
- строка
$className - Имя класса контроллера
Возвращает
строкаСозданный тест
confirmController()source public
confirmController( string $controllerName , string $useDynamicScaffold , array $helpers , array $components )
Подтверждает контроллер для создания с пользователем
Параметры
- строка
$controllerName - Имя контроллера.
- строка
$useDynamicScaffold - Использовать ли динамические scaffolds.
- массив
$helpers - Список помощников для включения.
- массив
$components - Список компонентов для включения.
doComponents()source public
doComponents( )
Взаимодействие с пользователем и получение списка дополнительных компонентов
Возвращает
массивКомпоненты, которые пользователь хочет использовать.
doHelpers()source public
doHelpers( )
Взаимодействие с пользователем и получение списка дополнительных помощников
Возвращает
массивПомощники, которые пользователь хочет использовать.
execute()source public
execute( )
Метод выполнения, всегда используемый для задач
Переопределяет
BakeTask::execute() getName()source public
getName( string $useDbConfig null )
Принуждает пользователя указать контроллер, который он хочет создать, и возвращает имя выбранного контроллера.
Параметры
- строка
$useDbConfigнеобязательно null - Имя подключения для получения имени контроллера.
Возвращает
строкаИмя контроллера
getOptionParser()source public
getOptionParser( )
Получает экземпляр анализатора опций и настраивает его.
Возвращает
ConsoleOptionParserПереопределяет
Shell::getOptionParser() initialize()source public
initialize( )
Переопределение initialize
Переопределяет
Shell::initialize() listAll()source public
listAll( string $useDbConfig null )
Выводит и получает список возможных контроллеров из базы данных
Параметры
- строка
$useDbConfigнеобязательно null - Имя конфигурации базы данных
Возвращает
массивНабор контроллеров
Методы, унаследованные от BakeTask
getPath()source public
getPath( )
Получает путь для вывода. Проверяет свойство плагина и возвращает правильный путь.
Возвращает
строкаПуть вывода.
startup()source public
startup( )
Отключает кэширование и включает отладку для выпечки. Это принудительно использует самую последнюю схему базы данных.
Переопределяет
Shell::startup() Методы, унаследованные от 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 )
Создаёт единственное человекопонятное имя, используемое в представлениях
Параметры
- string
$name - Имя контроллера
Возвращает
stringЕдинственное человекопонятное имя
_singularName()source protected
_singularName( string $name )
Создаёт единственное имя для использования в представлениях.
Параметры
- string
$name - Значение множественного числа с нижним подчеркиванием.
Возвращает
stringИмя
_useLogger()source protected
_useLogger( boolean $enable true )
Используется для включения или выключения вывода лог-потока в stdout и stderr. Если вы не хотите видеть всё, что регистрируется через CakeLog, в stdout или stderr, вызовите эту функцию с первым параметром false
Параметры
- boolean
$enableoptional 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
$messageoptional null - Строка или массив строк для вывода
- integer
$newlinesoptional 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
$messageoptional 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
$newlinesoptional 0 - Количество добавляемых новых строк до и после
- integer
$widthoptional 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
$optionsoptional null - Массив или строка опций.
- string
$defaultoptional null - Значение ввода по умолчанию.
Возвращает
mixedЗначение по умолчанию или ввод пользователя.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::inloadModel()source public
loadModel( string $modelClass null , mixed $id null )
Загружает и инициализирует модели, необходимые для этой оболочки.
Параметры
- string
$modelClassoptional null - Имя класса модели для загрузки
- mixed
$idoptional null - Изначальный ID, который должен иметь созданный экземпляр класса модели
Возвращает
mixedtrue, если модель найдена и экземпляр создан, возвращает ошибку, если модель не найдена.
Исключение
MissingModelExceptionЕсли класс модели не может быть найден.
loadTasks()source public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращает
booleannl()source public
nl( integer $multiplier 1 )
Возвращает последовательность символов новой строки или несколько таких последовательностей.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество повторений последовательности символов новой строки
Возвращает
строкаСсылка
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 означает, что оно будет отображаться только при включенном режиме 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 )
Выполняет Shell с предоставленным 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.
Параметры
- строка|массив
$url URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно массив() Если массив содержит ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращаемое значение
смешанный типБулево значение true или false при успехе/неудаче, или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращаемое значение
строкаИмя этого класса
Подробное описание свойств
$taskssource
public массив
Задачи, которые должны быть загружены этой задачей
array('Model', 'Test', 'Template', 'DbConfig', 'Project')
© 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-ControllerTask.html