Класс ProjectTask
Класс задач для создания новых приложений и плагинов проекта
- Объект
-
Shell -
AppShell -
ProjectTask
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Console/Command/Task/ProjectTask.php
Унаследованные константы
Краткое описание свойств
-
$configPathpublicпуть к конфигурациям (используется в тестировании).string
Унаследованные свойства
-
OptionParser,Tasks,_helpers,_lastWritten,_taskMap,args,command,interactive,modelClass,name,params,plugin,stderr,stdin,stdout,taskNames,tasks,uses
Краткое описание методов
- _replaceCorePath() protectedЗаменяет плейсхолдер CAKE_PATH в файлах шаблонов.
- bake() public
Ищет шаблон скелета приложения Cake, а если не находит, то спрашивает пользователя о пути. Когда путь найден, этот метод создает глубокую копию скелета в каталог проекта.
- cachePrefix() publicЗаписывает префикс кэша, используя имя приложения.
- cakeAdmin() publicВключает Configure::read('Routing.prefixes') в /app/Config/core.php.
- cakeOnIncludePath() publicПроверяет include_path PHP на наличие CakePHP.
- consolePath() public
Генерирует правильный путь к библиотекам CakePHP, которые генерируют проект, и указывает app/console/cake.php на правильное место.
- corePath() publicГенерирует и записывает CAKE_CORE_INCLUDE_PATH.
- execute() public
Проверяет, что заданный путь к проекту не существует, и находит каталог приложения в нем. Затем вызывает bake() с этой информацией.
- getOptionParser() publicПолучает экземпляр обработчика параметров и настраивает его.
- getPrefix() publicПроверяет Configure::read('Routing.prefixes') и заставляет пользователя ввести его, если он не включен.
- securityCipherSeed() publicГенерирует и записывает 'Security.cipherSeed'.
- securitySalt() publicГенерирует и записывает 'Security.salt'.
Подробное описание методов
_replaceCorePath()source protected
_replaceCorePath( string $filename , boolean $hardCode )
Заменяет плейсхолдер CAKE_PATH в файлах шаблонов.
Параметры
- строка
$filename - Имя файла для обработки.
- булево
$hardCode - Указывает, должен ли быть закомментирован оператор define.
Возвращает
booleanУспех
bake()source public
bake( string $path , string $skel null , string $skip array('empty') ) Ищет шаблон скелета приложения Cake, а если не находит, то спрашивает пользователя о пути. Когда путь найден, этот метод создает глубокую копию скелета в каталог проекта.
Параметры
- строка
$path - Путь к проекту
- строка
$skelнеобязательно null - Путь для копирования
- строка
$skipнеобязательно массив('empty') - Массив каталогов, которые следует пропустить при копировании
Возвращает
смешанноеcachePrefix()source public
cachePrefix( string $dir )
Записывает префикс кэша, используя имя приложения
Параметры
- строка
$dir - Путь к проекту
Возвращает
booleanУспех
cakeAdmin()source public
cakeAdmin( string $name )
Включает Configure::read('Routing.prefixes') в /app/Config/core.php
Параметры
- строка
$name - Имя для использования в маршрутизации администратора
Возвращает
booleanУспех
cakeOnIncludePath()source public
cakeOnIncludePath( )
Проверяет include_path PHP на наличие CakePHP.
Возвращает
booleanУказывает, существует ли CakePHP в include_path
consolePath()source public
consolePath( string $path )
Генерирует правильный путь к библиотекам CakePHP, которые генерируют проект, и указывает app/console/cake.php на правильное место
Параметры
- строка
$path - Путь к проекту.
Возвращает
booleanУспех
corePath()source public
corePath( string $path , boolean $hardCode true )
Генерирует и записывает CAKE_CORE_INCLUDE_PATH
Параметры
- строка
$path - Путь к проекту
- булево
$hardCodeнеобязательно true - Указывает, должны ли вызовы define быть закодированы.
Возвращает
booleanУспех
execute()source public
execute( )
Проверяет, что заданный путь к проекту не существует, и находит каталог приложения в нем. Затем вызывает bake() с этой информацией.
Возвращает
смешанноеgetOptionParser()source public
getOptionParser( )
Получает экземпляр обработчика параметров и настраивает его.
Возвращает
ConsoleOptionParserПереопределяет
Shell::getOptionParser() getPrefix()source public
getPrefix( )
Проверяет Configure::read('Routing.prefixes') и заставляет пользователя ввести его, если он не включен
Возвращает
строкаМаршрут администратора для использования
securityCipherSeed()source public
securityCipherSeed( string $path )
Генерирует и записывает 'Security.cipherSeed'
Параметры
- строка
$path - Путь к проекту
Возвращает
booleanУспех
securitySalt()source public
securitySalt( string $path )
Генерирует и записывает 'Security.salt'
Параметры
- строка
$path - Путь к проекту
Возвращает
booleanУспех
Методы, унаследованные от 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 для леничного построения задач
Параметры
- string
$name - Имя свойства для доступа.
Возвращает
ShellОбъект Task
__isset()source public
__isset( string $name )
Ленично загружает модели с помощью метода loadModel(), если они объявлены в $uses
Параметры
- string
$name - Имя модели для поиска.
_checkUnitTest()source protected
_checkUnitTest( )
Действие для создания Unit Test
Возвращает
booleanУспех
_controllerName()source protected
_controllerName( string $name )
Создаёт правильное множественное имя контроллера для указанного имени класса контроллера
Параметры
- string
$name - Имя класса контроллера
Возвращает
stringМножественное имя контроллера
_controllerPath()source protected
_controllerPath( string $name )
Создаёт правильный путь к контроллеру для указанного имени класса контроллера
Параметры
- string
$name - Имя класса контроллера
Возвращает
stringПуть к контроллеру
_displayHelp()source protected
_displayHelp( string $command )
Выводит справку в правильном формате
Параметры
- string
$command - Команда, для которой требуется справка.
_getInput()source protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- string
$prompt - Текст запроса.
- string|array
$options - Массив или строка опций.
- string
$default - Значение ввода по умолчанию.
Возвращает
Либозначение по умолчанию, либо введённое пользователем.
_loadModels()source protected
_loadModels( )
Если $uses - массив, загружает каждую модель из массива.
Возвращает
boolean_modelKey()source protected
_modelKey( string $name )
Создаёт правильный нижнеподчеркнутый ключ модели для ассоциаций.
Параметры
- string
$name - Имя класса модели
Возвращает
stringЕдиничное имя модели
_modelName()source protected
_modelName( string $name )
Создаёт правильное именованное (единственное число) имя модели для указанного имени.
Параметры
- string
$name - Имя
Возвращает
stringИменованное и единственное имя модели
_modelNameFromKey()source protected
_modelNameFromKey( string $key )
Создаёт правильное имя модели по внешнему ключу.
Параметры
- string
$key - Внешний ключ
Возвращает
stringИмя модели
_pluginPath()source protected
_pluginPath( string $pluginName )
Находит правильный путь для плагина. Просматривает $pluginPaths для нужного плагина.
Параметры
- string
$pluginName - Имя плагина, например DebugKit
Возвращает
stringпуть к нужному плагину.
_pluralHumanName()source protected
_pluralHumanName( string $name )
Создаёт множественное человекопонятное имя, используемое в представлениях.
Параметры
- string
$name - Имя контроллера
Возвращает
stringМножественное человекопонятное имя
_pluralName()source protected
_pluralName( string $name )
Создаёт множественное имя для представлений.
Параметры
- string
$name - Используемое имя
Возвращает
stringМножественное имя для представлений
_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 )
Используется для включения или отключения вывода лог-потока в стандартный вывод и стандартный поток ошибок. Если вы не хотите видеть всё, что регистрируется через CakeLog, в стандартном выводе или стандартном потоке ошибок, вызовите эту функцию с первым параметром false
Параметры
- boolean
$enableнеобязательно 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( )
Отправляет команду в другой Shell. Аналогично 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
$messageопционально null - Строка или массив строк для вывода
- integer
$newlinesопционально 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
$messageопционально 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
$newlinesопционально 0 - Количество символов новой строки перед и после
- integer
$widthопционально 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
$optionsопционально null - Массив или строка опций.
- string
$defaultопционально null - Значение ввода по умолчанию.
Возвращает
mixedЗначение по умолчанию или введенное пользователем значение.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::ininitialize()source public
initialize( )
Инициализирует Shell, действует как конструктор для подклассов, позволяет настроить задачи до выполнения оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initializeloadModel()source public
loadModel( string $modelClass null , mixed $id null )
Загружает и создает экземпляры моделей, необходимых этой оболочке.
Параметры
- string
$modelClassопционально null - Имя класса модели для загрузки
- mixed
$idопционально null - Начальный идентификатор, который должен иметь экземпляр загруженного класса модели.
Возвращает
mixedtrue, если найдена одна модель и создан экземпляр, в случае ошибки возвращается сообщение.
Исключения
MissingModelExceptionесли класс модели не найден.
loadTasks()source public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращает
booleannl()source public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- integer
$multiplierопционально 1 - Количество раз, которое последовательность символов новой строки должна повторяться
Возвращает
stringСсылка
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 вывода.
Параметры
- 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::outoverwrite()source public
overwrite( array|string $message , integer $newlines 1 , integer $size null )
Перезаписать уже выведенный текст.
Полезно для построения прогресс-баров или когда требуется заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Нельзя перезаписывать текст, содержащий символы новой строки.
Параметры
- array|string
$message - Сообщение для вывода.
- integer
$newlinesопционально 1 - Количество символов новой строки для добавления.
- integer
$sizeопционально null - Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращает
integer|booleanВозвращает количество байтов, возвращенных при записи в стандартный вывод.
param()source public
param( string $name )
Безопасно получить значения из $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращает
строка|булево|nullЗначение. Вернет null, если параметр не существует.
runCommand()source public
runCommand( string $command , array $argv )
Выполняет Shell с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в shell.
- Совпадающее имя задачи.
-
main()метод.
Если shell реализует метод main(), все недостающие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Параметры
- строка
$command Имя команды для выполнения в этом shell. Если этот аргумент пуст, и shell имеет метод
main(), он будет вызван вместо этого.- массив
$argv - Массив аргументов для выполнения shell. Из этого массива должно быть удалено имя shell.
Ссылка
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::shortPathstartup()source public
startup( )
Инициализирует Shell и отображает приветственное сообщение. Позволяет проверять и настраивать Shell перед выполнением команды или основного кода
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток перед выполнением команды.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::startupwrapText()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 об успехе/неудачи, или содержимое рендеренного действия, если 'return' установлен в $extra.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
Подробности свойств
© 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-ProjectTask.html