Класс OrmCacheShell
Оболочка кэша ORM.
Предоставляет интерфейс командной строки для функций кэширования метаданных ORM. Этот инструмент предназначен для использования скриптами развертывания, чтобы предотвратить эффекты «толпы» при одновременном доступе к кэшу метаданных при развертывании новых версий приложения или при миграциях, требующих обновленных метаданных.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\OrmCacheShell
Унаследованные константы
Унаследованные свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,rootName,taskNames,tasks_tableLocator_modelFactories,_modelType,modelClass
Краткое описание методов
- _getSchema() protectedВспомогательный метод для получения коллекции схем.
- build() publicСоздать метаданные.
- clear() publicОчистить метаданные.
- getOptionParser() publicПолучить обработчик опций для этой оболочки.
Подробное описание методов
_getSchema()source protected
_getSchema( )
Вспомогательный метод для получения коллекции схем.
Возвращает
false|Cake\Database\Schema\CachedCollectionbuild()source public
build( string|null $name null )
Создать метаданные.
Параметры
- string|null
$nameнеобязательно null - Имя таблицы, для которой необходимо создать данные кэша.
Возвращает
booleanclear()source public
clear( string|null $name null )
Очистить метаданные.
Параметры
- string|null
$nameнеобязательно null - Имя таблицы, для которой необходимо очистить данные кэша.
Возвращает
booleanПереопределяет
Cake\Console\Shell::clear() getOptionParser()source public
getOptionParser( )
Получить обработчик опций для этой оболочки.
Возвращает
Cake\Console\ConsoleOptionParserПереопределяет
Cake\Console\Shell::getOptionParser() Методы, унаследованные от Cake\Console\Shell
__construct()source public
__construct( Cake\Console\ConsoleIo $io null )
Создает экземпляр этой оболочки.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Экземпляр io.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell__debugInfo()source public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array__get()source public
__get( string $name )
Перегрузка get для ленивого построения задач
Параметры
- string
$name - Задача, которую нужно получить.
Возвращает
Cake\Console\ShellОбъект задачи
_displayHelp()source protected
_displayHelp( string $command )
Отобразить справку в правильном формате
Параметры
- string
$command - Команда, для которой требуется справка.
Возвращает
integer|booleanКоличество байт, возвращенных из записи в стандартный вывод.
_setOutputLevel()source protected
_setOutputLevel( )
Установить уровень вывода на основе параметров.
Это переконфигурирует уровень вывода для out() и настроенный вывод журнала stdout/stderr
_stop()source protected
_stop( integer|string $status self::CODE_SUCCESS )
Останавливает выполнение текущего скрипта. Вызывает StopException для попытки прервать выполнение.
Параметры
- integer|string
$statusнеобязательно self::CODE_SUCCESS - см. https://secure.php.net/exit для значений
Вызывает
Cake\Console\Exception\StopExceptionabort()source public
abort( string $message , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- string
$message - Сообщение об ошибке
- integer
$exitCodeнеобязательно self::CODE_ERROR - Код выхода для задачи оболочки.
Вызывает
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputcreateFile()source public
createFile( string $path , string $contents )
Создает файл по заданному пути
Параметры
- string
$path - Куда поместить файл.
- string
$contents - Содержимое, которое нужно поместить в файл.
Возвращает
booleanУспешно
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShell()source 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'] ]);
Возвращает
integerКод выхода команды командной строки. 0 — успех.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#invoking-other-shells-from-your-shellerr()source public
err( string|array|null $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только символ новой строки.
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в stderr.
error()source public
error( string $title , string|null $message null , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Устарело
3.2.0 Используйте Shell::abort() вместо этого.Параметры
- string
$title - Заголовок ошибки
- string|null
$messageнеобязательно null - Необязательное сообщение об ошибке
- integer
$exitCodeнеобязательно self::CODE_ERROR - Код завершения задачи оболочки.
Возвращает
integerКод ошибки
Выбрасывает
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputgetIo()source public
getIo( )
Получить объект io для этой оболочки.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
hasMethod()source public
hasMethod( string $name )
Проверить, имеет ли эта оболочка вызываемый метод с данным именем.
Параметры
- string
$name - Имя проверяемого метода.
Возвращает
booleanСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверить, имеет ли эта оболочка задачу с указанным именем.
Параметры
- string
$task - Имя проверяемой задачи.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()source public
helper( string $name , array $settings [] )
Отобразить помощник консоли
Создать и отобразить вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
- string
$name - Имя помощника для отображения
- array
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hr()source public
hr( integer $newlines 0 , integer $width 63 )
Выводит последовательность символов минус в стандартный вывод, действует как визуальный разделитель.
Параметры
- integer
$newlinesнеобязательно 0 - Количество новых строк для предварительного и последующего добавления
- integer
$widthнеобязательно 63 - Ширина строки, по умолчанию 63
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::hrin()source public
in( string $prompt , string|array|null $options null , string|null $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- string
$prompt - Текст запроса.
- string|array|null
$optionsнеобязательно null - Массив или строка опций.
- string|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
mixedЛибо значение по умолчанию, либо введенное пользователем значение.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::ininfo()source public
info( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Shell::NORMAL )
Удобный метод для out(), который обертывает сообщение между тегами
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- integer
$levelнеобязательно Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в stdout.
См.
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует оболочку, действует как конструктор для подклассов, позволяет настроить задачи перед выполнением оболочки
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeio()source public
io( Cake\Console\ConsoleIo $io null )
Получить/Установить объект io для этой оболочки.
Устарело
3.5.0 Используйте getIo()/setIo() вместо этого.Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Объект ConsoleIo для использования.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTasks()source public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращает
booleannl()source public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- integer
$multiplierнеобязательно 1 - Количество повторений последовательности символов новой строки
Возвращает
stringСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nlout()source public
out( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Shell::NORMAL )
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном режиме подробного вывода.
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- integer
$levelнеобязательно Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в stdout.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparam()source public
param( string $name )
Безопасно получить значения из $this->params.
Параметры
- string
$name - Имя параметра для получения.
Возвращает
string|boolean|nullЗначение. Возвращает null, если параметр не существует.
parseDispatchArguments()source public
parseDispatchArguments( array $args )
Парсит аргументы для метода dispatchShell().
Параметры
- array
$args Аргументы полученные из метода dispatchShell() с помощью func_get_args()
Возвращает
arrayПервое значение должно быть массивом аргументов команды. Второе значение должно быть массивом дополнительных параметров для передачи диспетчеру
quiet()source public
quiet( string|array $message , integer $newlines 1 )
Вывод на всех уровнях.
Параметры
- string|array
$message - Строка или массив строк для вывода
- integer
$newlinesoptional 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в стандартный вывод.
runCommand()source public
runCommand( array $argv , boolean $autoMethod false , array $extra [] )
Выполняет Shell с предоставленными argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в Shell.
- Соответствующее имя задачи.
-
main()метод.
Если Shell реализует метод main(), все недостающие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Для вызова задач они должны быть представлены в качестве подкоманд. Если вы определяете подкоманды, вы должны определить все подкоманды, которые вашей Shell необходимы, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- array
$argv - Массив аргументов для выполнения Shell. В этом массиве должно отсутствовать имя Shell.
- boolean
$autoMethodoptional false Установите в значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определён как подкоманда. Это используется ShellDispatcher для упрощения создания простых Shell.
- array
$extraoptional [] Дополнительные параметры, которые вы можете вручную передать в Shell для обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветствия Shell.
Возвращает
integer|boolean|nullСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consolesetIo()source public
setIo( Cake\Console\ConsoleIo $io )
Устанавливает объект io для этого Shell.
Параметры
-
Cake\Console\ConsoleIo$io - Объект ConsoleIo для использования.
setRootName()source public
setRootName( string $name )
Устанавливает имя корневой команды для вывода справки.
Параметры
- string
$name - Имя корневой команды.
Возвращает
$this
shortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- string
$file - Абсолютный путь к файлу
Возвращает
stringСокращённый путь
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Инициализирует Shell и отображает приветственное сообщение. Позволяет проверять и настраивать параметры до выполнения команды или основной части
Переопределите этот метод, если хотите удалить информацию о приветствии или изменить поток до выполнения команды.
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startupsuccess()source public
success( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- string|array|null
$messageoptional null - Строка или массив строк для вывода
- integer
$newlinesoptional 1 - Количество символов новой строки для добавления
- integer
$leveloptional Cake\Shell\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в стандартный вывод.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outverbose()source public
verbose( string|array $message , integer $newlines 1 )
Вывод на уровне verbose.
Параметры
- string|array
$message - Строка или массив строк для вывода
- integer
$newlinesoptional 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в стандартный вывод.
warn()source public
warn( string|array|null $message null , integer $newlines 1 )
Удобный метод для err(), который оборачивает сообщение тегами
Параметры
- string|array|null
$messageoptional null - Строка или массив строк для вывода
- integer
$newlinesoptional 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в стандартный вывод.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapMessageWithType()source protected
wrapMessageWithType( string $messageType , string|array $message )
Оборачивает сообщение заданным типом сообщения, например
Параметры
- string
$messageType - Тип сообщения, например "предупреждение".
- string|array
$message - Сообщение для обёртывания.
Возвращает
array|stringСообщение, обернутое заданным типом сообщения.
wrapText()source public
wrapText( string $text , integer|array $options [] )
Оборачивает блок текста. Позволяет задать ширину и отступ блока текста.
Параметры
-
widthШирина обёртывания. По умолчанию 72 -
wordWrapОборачивать только по границам слов (пробелам). По умолчанию true. -
indentОтступ текста заданной строкой. По умолчанию null.
Параметры
- string
$text - Текст для форматирования.
- integer|array
$optionsoptional [] - Массив параметров или целое число для обёртывания текста.
Возвращает
stringОбёрнутый/отступленный текст
См. также
\Cake\Utility\Text::wrap()Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::wrapTextМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получает локатор таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Устанавливает локатор таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Устанавливает локатор таблиц. Если параметры не переданы, возвращает текущий используемый локатор.
Устарело
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceМетоды, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы, см. Log::write().
Параметры
- mixed
$msg - Сообщение для журнала.
- integer|string
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- string|array
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanРезультат записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergeProperty()source protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединяет одно свойство со значениями, объявленными во всех родительских классах.
Параметры
- string
$property - Имя объединяемого свойства.
- array
$parentClasses - Массив классов, которые вы хотите объединить.
- array
$options - Параметры для объединения свойства, см. _mergeVars().
_mergePropertyData()source protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединяет каждый из ключей в свойстве.
Параметры
- array
$current - Текущее объединённое значение.
- array
$parent - Значение родительского класса.
- boolean
$isAssoc - Указывает, должно ли объединение выполняться в ассоциативном режиме.
Возвращает
mixedОбновлённое значение.
_mergeVars()source protected
_mergeVars( array $properties , array $options [] )
Объединяет список $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- array
$properties - Массив свойств и стратегии объединения для них.
- array
$optionsнеобязательно [] - Параметры, используемые при объединении свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClass()source protected
_setModelClass( string $name )
Устанавливает свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны.
Параметры
- string
$name - Имя класса.
getModelType()source public
getModelType( )
Получить тип модели, который будет использоваться этим классом.
Возвращает
stringloadModel()source public
loadModel( string|null $modelClass null , string|null $modelType null )
Загружает и создаёт объекты хранилища, необходимые этому объекту.
Обычно используется для загрузки объектов ORM Table, как требуется. Также может использоваться для загрузки других типов объектов хранилища, используемых вашим приложением.
Если поставщик хранилища не возвращает объект, будет брошено исключение MissingModelException.
Параметры
- string|null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- string|null
$modelTypeнеобязательно null - Тип хранилища для загрузки. По умолчанию значение modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Исключения
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не был определён
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределяет существующую функцию для создания хранилищ заданного типа.
Параметры
- string
$type - Имя типа хранилища, для которого предназначена фабричная функция.
- callable
$factory - Функция-фабрика, используемая для создания экземпляров.
modelType()source public
modelType( string|null $modelType null )
Установка или получение типа модели, который будет использоваться этим классом.
Устарело
3.5.0 Используйте getModelType()/setModelType() вместо этого.Параметры
- string|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
string|Cake\Datasource\ModelAwareTrait$this
setModelType()source public
setModelType( string $modelType )
Устанавливает тип модели, который будет использоваться этим классом.
Параметры
- string
$modelType - Тип модели
Возвращает
$this
Магические методы, унаследованные от Cake\Console\Shell
main() |
© 2005–2018 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.
https://api.cakephp.org/3.5/class-Cake.Shell.OrmCacheShell.html