Класс OrmCacheShell
ORM кэш оболочки.
Предоставляет интерфейс командной строки для функций кеширования метаданных ORM. Этот инструмент предназначен для использования скриптами развертывания, чтобы предотвратить эффекты «молниеносного стада» на кэше метаданных при развертывании новых версий приложения или при необходимости миграций, требующих обновленных метаданных.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\SchemaCacheShell
-
Cake\Shell\OrmCacheShell
Устаревший: 3.6.0 Используйте \Cake\Shell\SchemaCacheShell вместо этого
Расположение: Shell/OrmCacheShell.php
Наследуемые константы
Наследуемые свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,rootName,taskNames,tasks_tableLocator_modelFactories,_modelType,modelClass
Методы, унаследованные от Cake\Shell\SchemaCacheShell
_getSchemaCache()исходный код protected
_getSchemaCache( )
Получает экземпляр Schema Cache.
Возвращает
Cake\Database\SchemaCachebuild()исходный код public
build( string|null $name = null )
Создать метаданные.
Параметры
- string|null
$nameнеобязательно null - Имя таблицы, для которой нужно создать данные кэша.
Возвращает
booleanclear()исходный код public
clear( string|null $name = null )
Очистить метаданные.
Параметры
- string|null
$nameнеобязательно null - Имя таблицы, для которой нужно очистить данные кэша.
Возвращает
booleanПереопределяет
Cake\Console\Shell::clear() getOptionParser()исходный код public
getOptionParser( )
Получить обработчик опций для этой оболочки.
Возвращает
Cake\Console\ConsoleOptionParserПереопределяет
Cake\Console\Shell::getOptionParser() Методы, унаследованные от Cake\Console\Shell
__construct()исходный код public
__construct( Cake\Console\ConsoleIo $io = null , Cake\ORM\Locator\LocatorInterface $locator = null )
Создает экземпляр этой оболочки.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Экземпляр io.
-
Cake\ORM\Locator\LocatorInterface$locatorнеобязательно null - Экземпляр локатора таблиц.
Ссылка
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Объект Task
_displayHelp()source protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- string
$command - Команда, для которой требуется справка.
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в stdout.
_setOutputLevel()source protected
_setOutputLevel( )
Устанавливает уровень вывода на основе параметров.
Это переконфигурирует уровень вывода для out() и настроенные логирование stdout/stderr
_stop()source protected
_stop( integer|string $status = self::CODE_SUCCESS )
Останавливает выполнение текущего скрипта. Выбрасывает StopException для остановки выполнения.
Параметры
- integer|string
$statusoptional self::CODE_SUCCESS - см. https://secure.php.net/exit для значений
Выбрасывает
Cake\Console\Exception\StopException_validateTasks()source protected
_validateTasks( )
Проверяет, что задачи в карте задач фактически доступны
Выбрасывает
RuntimeExceptionabort()source public
abort( string $message , integer $exitCode = self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- string
$message - Сообщение об ошибке
- integer
$exitCodeoptional 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( )
Отправляет команду другому Shell. Аналогично Object::requestAction(), но предназначено для запуска shell из другого shell.
Использование:
С текстовой командой:
return $this->dispatchShell('schema create DbAcl'); Избегайте использования этого формата, если у вас есть строковые аргументы с пробелами. Отправленный shell будет вызван некорректно. Используйте этот формат только для простого отправления команд.
С массивной командой:
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 deprecated
error( string $title , string|null $message = null , integer $exitCode = self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает работу приложения с кодом состояния 1
Параметры
- string
$title - Заголовок ошибки
- string|null
$messageнеобязательно null - Необязательное сообщение об ошибке
- integer
$exitCodeнеобязательно self::CODE_ERROR - Код выхода для задачи shell.
Возвращает
integerКод ошибки
Выбрасывает
Cake\Console\Exception\StopExceptionСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputgetIo()source public
getIo( )
Получить объект io для этого shell.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
hasMethod()source public
hasMethod( string $name )
Проверка наличия вызываемого метода с данным именем в этом shell.
Параметры
- string
$name - Имя метода для проверки.
Возвращает
booleanСсылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверка наличия задачи с заданным именем в этом shell.
Параметры
- string
$task - Имя задачи для проверки.
Возвращает
booleanУспех
Ссылка
https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()source public
helper( string $name , array $settings = [] )
Отображение помощника Console Helper
Создать и отобразить вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
- string
$name - Имя помощника для отображения
- array
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hr()source public
hr( integer $newlines = 0 , integer $width = 63 )
Выводит серию символов минус в стандартный вывод, служит визуальным разделителем.
Параметры
- целое
$newlinesнеобязательно 0 - Количество новых строк для добавления в начало и конец
- целое
$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 )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив|null
$optionsнеобязательно null - Массив или строка опций.
- строка|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращаемое значение
смешанноеЛибо значение по умолчанию, либо введенное пользователем значение.
Ссылка
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 = Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое
$newlinesнеобязательно 1 - Количество добавляемых новых строк
- целое
$levelнеобязательно Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращаемое значение
целое|булевоКоличество байтов, возвращённых из вывода в 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 deprecated
io( Cake\Console\ConsoleIo $io = null )
Получить/установить объект io для этой оболочки.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Объект ConsoleIo для использования.
Возвращаемое значение
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTasks()source public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращаемое значение
booleannl()source public
nl( integer $multiplier = 1 )
Возвращает последовательность одной или нескольких перевода строк.
Параметры
- целое
$multiplierнеобязательно 1 - Количество повторений последовательности перевода строк
Возвращаемое значение
строкаСсылка
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 = Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводится только новая строка.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как Shell::VERBOSE означает, что оно будет отображаться только при включенном verbose-выводе.
Параметры
- string|array|null
$messageoptional null - Строка или массив строк для вывода
- integer
$newlinesoptional 1 - Количество новых строк для добавления
- integer
$leveloptional Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в стандартный вывод.
Ссылка
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 = [] )
Выполняет оболочку с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Совпадающее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.
Для вызова задач они должны быть представлены как подкоманды. Если вы определяете подкоманды, вы должны определить все подкоманды, необходимые вашей оболочке, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- array
$argv - Массив аргументов для запуска оболочки. Этот массив должен быть без имени оболочки.
- boolean
$autoMethodoptional false Установите в true, чтобы разрешить вызов любого публичного метода, даже если он не был определён как подкоманда. Это используется ShellDispatcher для упрощения создания простых оболочек.
- array
$extraoptional [] Дополнительные параметры, которые вы можете вручную передать в оболочку для обработки. Встроенный дополнительный параметр: -
requested: если используется, предотвратит отображение приветственного сообщения оболочки.
Возвращает
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 для этой оболочки.
Параметры
-
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( )
Инициализирует оболочку и отображает приветственное сообщение. Позволяет проверять и настраивать параметры перед выполнением команды или основного кода.
Переопределите этот метод, если хотите удалить приветственное сообщение или иначе изменить поток до выполнения команды.
Ссылка
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 = Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- integer
$levelнеобязательно 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 )
Вывод на уровне подробностей.
Параметры
- string|array
$message - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в стандартный вывод.
warn()source public
warn( string|array|null $message = null , integer $newlines = 1 )
Удобный метод для err(), который оборачивает сообщение тегами
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в стандартный поток ошибок.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapMessageWithType()source protected deprecated
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 deprecated
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Устанавливает локатор таблицы. Если параметры не переданы, возвращает текущий используемый локатор.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatoroptional 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
$leveloptional LogLevel::ERROR - Уровень ошибки.
- string|array
$contextoptional [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращаемое значение
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() перед объединением.
Параметры
- массив
$properties - Массив свойств и стратегии их объединения.
- массив
$optionsнеобязательно [] - Параметры для использования при объединении свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClass()source protected
_setModelClass( string $name )
Установить свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны.
Параметры
- строка
$name - Имя класса.
getModelType()source public
getModelType( )
Получить тип модели, который будет использоваться этим классом
Возвращает
строкаloadModel()source public
loadModel( string|null $modelClass = null , string|null $modelType = null )
Загружает и создаёт объекты репозитория, необходимые для этого объекта.
Обычно используется для загрузки объектов ORM Table по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- строка|null
$modelClassнеобязательно null Имя класса модели для загрузки. По умолчанию равно $this->modelClass. Имя может быть псевдонимом, например
'Post'или полным именем класса, напримерApp\Model\Table\PostsTable::class.- строка|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию имеет значение modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Исключения
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определен
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределить существующую вызываемую функцию для генерации репозиториев заданного типа.
Параметры
- строка
$type - Имя типа репозитория, для которого предназначена функция-фабрика.
- вызываемая функция
$factory - Функция-фабрика, используемая для создания экземпляров.
modelType()source public deprecated
modelType( string|null $modelType = null )
Установить или получить тип модели, который будет использоваться этим классом
Параметры
- строка|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
строка|Cake\Datasource\ModelAwareTrait$this
setModelType()source public
setModelType( string $modelType )
Установить тип модели, который будет использоваться этим классом
Параметры
- строка
$modelType - Тип модели
Возвращает
$this
Магические методы, унаследованные от Cake\Console\Shell
main() |
© 2005–present 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.8/class-Cake.Shell.OrmCacheShell.html