Класс OrmCacheShell
Оболочка кеширования ORM.
Предоставляет интерфейс командной строки для функций кеширования метаданных ORM. Этот инструмент предназначен для использования в скриптах развертывания, чтобы предотвратить эффекты «толпы» при обновлении метаданных кеша при развертывании новых версий приложения или при необходимости миграций, требующих обновлённых метаданных.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait, Cake\Log\LogTrait, Cake\Utility\MergeVariablesTrait, Cake\Datasource\ModelAwareTrait
-
Cake\Shell\OrmCacheShell
Подробное описание методов
_getSchemasource protected
_getSchema( )
Вспомогательный метод для получения коллекции схем.
Возвращает
false|Cake\Database\Schema\Collectionfalse|\Cake\Database\Schema\Collection
buildsource public
build( string|null $name null )
Сгенерировать метаданные.
Параметры
- string|null
$nameнеобязательно null - Имя таблицы, для которой нужно сгенерировать данные кеша.
Возвращает
booleanbool
clearsource public
clear( string|null $name null )
Очистить метаданные.
Параметры
- string|null
$nameнеобязательно null - Имя таблицы, для которой нужно очистить данные кеша.
Возвращает
booleanbool
Переопределяет
Cake\Console\Shell::clear() getOptionParsersource public
getOptionParser( )
Получить парсер опций для этой оболочки.
Возвращает
Cake\Console\ConsoleOptionParser\Cake\Console\ConsoleOptionParser
Переопределяет
Cake\Console\Shell::getOptionParser() Наследуемые методы из Cake\Console\Shell
__constructsource public
__construct( Cake\Console\ConsoleIo $io null )
Создаёт экземпляр этого Shell.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Экземпляр io.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell__debugInfosource public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
arrayмассив
__getsource public
__get( string $name )
Перегрузка get для ленивого построения задач
Параметры
- строка
$name - Задача, которую нужно получить.
Возвращает
Cake\Console\ShellОбъект Task
_displayHelpsource protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- строка
$command - Команда, для которой нужна справка.
Возвращает
integer|booleanцелое число/логическое значение
_setOutputLevelsource protected
_setOutputLevel( )
Устанавливает уровень вывода на основе параметров.
Это перенастраивает уровень вывода для out() и настроенное логирование stdout/stderr
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число/строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
createFilesource public
createFile( string $path , string $contents )
Создаёт файл по указанному пути
Параметры
- строка
$path - Куда поместить файл.
- строка
$contents - Содержание, которое нужно поместить в файл.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShellsource public
dispatchShell( )
Перенаправляет команду в другую оболочку. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
Со строковой командой:
return $this->dispatchShell('schema create DbAcl');
Избегайте использования этой формы, если у вас есть строковые аргументы с пробелами в них. Вызванная оболочка будет запущена неправильно. Используйте эту форму только для простого перенаправления команд.
С массивом команд:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry');
С массивом, имеющим две пары ключ/значение: - command может принимать как строку, так и массив. Представляет команду для перенаправления - extra может принимать массив дополнительных параметров для передачи диспетчеру. Эти параметры будут доступны в свойстве param вызываемой Shell
`return $this->dispatchShell([ 'command' => 'schema create DbAcl', 'extra' => ['param' => 'value'] ]);`
или
`return $this->dispatchShell([ 'command' => ['schema', 'create', 'DbAcl'], 'extra' => ['param' => 'value'] ]);`
Возвращает
mixedВозвращаемое значение другой оболочки.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#invoking-other-shells-from-your-shellerrsource public
err( string|array|null $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибке в stderr. Если параметры не переданы, выводится только перевод строки.
Параметры
- строка/массив/null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество переводимых строк
errorsource public
error( string $title , string|null $message null )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- строка
$title - Заголовок ошибки
- строка/null
$messageнеобязательно null - Необязательное сообщение об ошибке
Возвращает
integerКод ошибки
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputhasMethodsource public
hasMethod( string $name )
Проверка наличия вызываемого метода с указанным именем в данном шелле.
Параметры
- строка
$name - Имя проверяемого метода.
Возвращаемое значение
booleanbool
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTasksource public
hasTask( string $task )
Проверка наличия задачи с указанным именем в данном шелле.
Параметры
- строка
$task - Имя проверяемой задачи.
Возвращаемое значение
booleanУспешно
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelpersource public
helper( string $name , array $settings [] )
Вывод помощника консоли
Создает и выводит результат для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
- строка
$name - Имя помощника для вывода
- массив
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращаемое значение
Cake\Console\HelperСозданный экземпляр помощника.
hrsource public
hr( integer $newlines 0 , integer $width 63 )
Выводит ряд символов тире в стандартный вывод, служит визуальным разделителем.
Параметры
- целое число
$newlinesнеобязательно 0 - Количество новых строк для добавления перед и после
- целое число
$widthнеобязательно 63 - Ширина строки, по умолчанию 63
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::hrinsource public
in( string $prompt , string|array|null $options null , string|null $default null )
Запрашивает ввод у пользователя и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка/массив/null
$optionsнеобязательно null - Массив или строка вариантов.
- строка/null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращаемое значение
mixedЛибо значение по умолчанию, либо введенное пользователем значение.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::ininitializesource public
initialize( )
Инициализирует шелл, выступает в качестве конструктора для подклассов, позволяет настроить задачи до выполнения шелла.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeiosource public
io( Cake\Console\ConsoleIo $io null )
Получение/установка объекта io для этого шелла.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Объект ConsoleIo для использования.
Возвращаемое значение
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTaskssource public
loadTasks( )
Загрузка задач, определенных в public $tasks
Возвращаемое значение
booleanbool
nlsource public
nl( integer $multiplier 1 )
Возвращает последовательность из одной или нескольких символов новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество повторений последовательности новой строки.
Возвращаемое значение
stringстрока
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nloutsource public
out( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::ТИХО, Shell::НОРМАЛЬНО, Shell::ПОДРОБНО. Уровни вывода verbose и quiet соответствуют параметрам вывода verbose и quiet в большинстве шеллов. Использование Shell::ТИХО для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::ПОДРОБНО означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- строка/массив/null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательно Cake\Shell\Shell::НОРМАЛЬНО - Уровень вывода сообщения, см. выше.
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в стандартный вывод.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparamsource public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращаемое значение
string|boolean|nullЗначение. Возвращает null, если параметр не существует.
parseDispatchArgumentssource public
parseDispatchArguments( array $args )
Разбирает аргументы для метода dispatchShell().
Параметры
- массив
$args - Аргументы, полученные из метода dispatchShell() с помощью func_get_args()
Возвращаемое значение
arrayПервое значение должно быть массивом аргументов команды. Второе значение должно быть массивом дополнительных параметров для передачи диспетчеру.
quietsource public
quiet( string|array $message , integer $newlines 1 )
Вывод на всех уровнях.
Параметры
- строка/массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращаемое значение
integer|booleanВозвращает количество байтов, возвращенных при записи в стандартный вывод.
runCommandsource public
runCommand( array $argv , boolean $autoMethod false , array $extra [] )
Выполняет Shell с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в shell.
- Соответствующее имя задачи.
-
main()метод.
Если shell реализует main() метод, все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.
Для вызова задач они должны быть представлены в качестве подкоманд. Если вы определяете какие-либо подкоманды, вы должны определить все подкоманды, необходимые вашему shell, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- массив
$argv - Массив аргументов для запуска shell. В этом массиве должно отсутствовать имя shell.
- логическое значение
$autoMethodнеобязательно false - Установите значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher для облегчения создания простых shell.
- массив
$extraнеобязательно [] - Дополнительные параметры, которые вы можете вручную передать в Shell для обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения Shell
Возвращает
mixedmixed
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consoleshortPathsource public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
stringсокращенный путь
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartupsource public
startup( )
Запускает Shell и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основного кода.
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток до выполнения команды.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startupverbosesource public
verbose( string|array $message , integer $newlines 1 )
Вывод на уровне подробности.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки
Возвращает
integer|booleanВозвращает количество байтов, возвращенных при записи в стандартный вывод.
wrapTextsource public
wrapText( string $text , integer|array $options [] )
Обернуть блок текста. Позволяет задать ширину и отступы блока текста.
Параметры
-
widthШирина обертывания. По умолчанию 72 -
wordWrapОбертывать только по границам слов (пробелам). По умолчанию true. -
indentОтступ текста с указанной строкой. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- целое число|массив
$optionsнеобязательно [] - Массив параметров для использования или целое число для обертывания текста.
Возвращает
stringОборачиваемый/отступающий текст
См.
Cake\Utility\Text::wrap()Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::wrapTextМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
tableLocatorsource public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Устанавливает локатор таблиц. Если не переданы параметры, он вернет текущий используемый локатор.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterface\Cake\ORM\Locator\LocatorInterface
Методы, используемые из Cake\Log\LogTrait
logsource public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Метод-обертка для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы обратитесь к Log::write().
Параметры
- смешанный
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanРезультат записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergePropertysource protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединить один свойство со значениями, объявленными во всех родительских классах.
Параметры
- строка
$property - Имя объединяемого свойства.
- массив
$parentClasses - Массив классов, которые вы хотите объединить.
- массив
$options - Параметры для объединения свойства, см. _mergeVars()
_mergePropertyDatasource protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединить каждый из ключей в свойстве.
Параметры
- массив
$current - Текущее объединенное значение.
- массив
$parent - Значение родительского класса.
- логическое значение
$isAssoc - Определяет, должно ли объединение выполняться в ассоциативном режиме.
Возвращает
mixedОбновленное значение.
_mergeVarssource protected
_mergeVars( array $properties , array $options [] )
Объединить список $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- массив
$properties - Массив свойств и стратегии их объединения.
- массив
$optionsнеобязательно [] - Параметры, используемые при объединении свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClasssource protected
_setModelClass( string $name )
Устанавливает свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны.
Параметры
- строка
$name - Имя класса.
loadModelsource public
loadModel( string|null $modelClass null , string|null $modelType null )
Загружает и создает объекты репозитория, необходимые этому объекту.
Обычно используется для загрузки объектов ORM Table по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- строка|null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- строка|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию значение modelType().
Возвращает
objectСозданный экземпляр модели.
Исключения
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentExceptionПри использовании типа, который не зарегистрирован.
UnexpectedValueExceptionЕсли тип модели не определен
modelFactorysource public
modelFactory( string $type , callable $factory )
Зарегистрировать вызываемый объект для генерации репозиториев заданного типа.
Параметры
- строка
$type - Имя типа репозитория, для которого предназначена функция-фабрика.
- вызываемый объект
$factory - Функция-фабрика, используемая для создания экземпляров.
modelTypesource public
modelType( string|null $modelType null )
Установить или получить тип модели, используемой этим классом
Параметры
- строка|null
$modelTypeнеобязательный null - Тип модели или null для получения текущего
Возвращаемое значение
string|$this$this
Постоянные значения, унаследованные от Cake\Console\Shell
CODE_ERROR, NORMAL, QUIET, VERBOSE |
Свойства, унаследованные от Cake\Console\Shell
$OptionParsersource
public Cake\Console\ConsoleOptionParser
Экземпляр ConsoleOptionParser, настроенный для этого класса.
$Taskssource
public Cake\Console\TaskRegistry
Коллекция задач для команды, используемая для создания задач.
$interactivesource
public boolean
Если true, скрипт запросит разрешение на выполнение действий.
true $pluginsource
public строка
Имя плагина, к которому относится оболочка. Автоматически устанавливается ShellDispatcher при построении оболочки.
null $taskssource
public массив
Содержит задачи для загрузки и инициализации
Ссылка
http://book.cakephp.org/3.0/en/console-and-shells.html#Shell::$tasks[]
Свойства, используемые из Cake\ORM\Locator\LocatorAwareTrait
Свойства, используемые из Cake\Datasource\ModelAwareTrait
$modelClasssource
public строка
Имя основного класса модели этого объекта. Должно быть во множественном числе. CakePHP не будет склонять имя.
Пример: Для объекта с именем 'Комментарии', modelClass будет 'Комментарии'. Классы плагинов должны использовать имена в стиле Plugin.Comments для правильной загрузки моделей из соответствующего плагина.
© 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/3.1/class-Cake.Shell.OrmCacheShell.html