Класс SchemaCacheShell
Оболочка кэша схем.
Предоставляет интерфейс командной строки для функций кэширования метаданных схемы. Этот инструмент предназначен для использования скриптами развертывания, чтобы предотвратить эффект «толпы слонов» на кэше метаданных при развертывании новых версий приложения или при необходимости миграций, требующих обновлённых метаданных.
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\SchemaCacheShell
Непосредственные подклассы
Унаследованные константы
Унаследованные свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,rootName,taskNames,tasks_tableLocator_modelFactories,_modelType,modelClass
Краткое описание методов
- _getSchemaCache() protectedПолучает экземпляр кэша схемы
- build() publicПостроение метаданных.
- clear() publicОчистка метаданных.
- getOptionParser() publicПолучение парсера параметров для этой оболочки.
Подробное описание методов
_getSchemaCache()source protected
_getSchemaCache( )
Получает экземпляр кэша схемы
Возвращает
Cake\Database\SchemaCachebuild()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\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Объект задачи
_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\StopException_validateTasks()source protected
_validateTasks( )
Проверяет, что задачи в карте задач фактически доступны
Исключения
RuntimeExceptionabort()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( )
Отправляет команду другому Shell. Аналогично 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Код завершения команды cli. 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 = [] )
Отобразить помощника Console
Создать и отобразить вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
- 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 )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 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Количество байтов, возвращённых при записи в стандартный вывод.
Ссылка
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
$newlinesнеобязательный 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в стандартный вывод.
runCommand()source public
runCommand( array $argv , boolean $autoMethod = false , array $extra = [] )
Запускает оболочку с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует main() метод, все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Для вызова задач они обязательно должны быть представлены в виде подкоманд. Если вы определяете подкоманды, вы должны определить все подкоманды, необходимые вашей оболочке, независимо от того, являются ли они методами этого класса или методами задач.
Параметры
- array
$argv - Массив аргументов для запуска оболочки. В этом массиве должно отсутствовать имя оболочки.
- boolean
$autoMethodнеобязательный false Установите в значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определён как подкоманда. Это используется ShellDispatcher для простого создания оболочек.
- array
$extraнеобязательный [] Дополнительные параметры, которые вы можете вручную передать в оболочку для обработки. Встроенным дополнительным параметром является: -
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 = Cake\Shell\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегом
Параметры
- string|array|null
$messageнеобязательный null - Строка или массив строк для вывода
- integer
$newlinesнеобязательный 1 - Количество символов новой строки для добавления
- integer
$levelнеобязательный 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
$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 )
Оборачивает сообщение с указанным типом сообщения, например
Устаревшее
3.6.0 Будет удалено в 4.0.0, так как больше не используется.Параметры
- string
$messageType - Тип сообщения, например "предупреждение".
- string|array
$message - Сообщение для обертывания.
Возвращает
array|stringСообщение, обернутое с указанным типом сообщения.
wrapText()source public
wrapText( string $text , integer|array $options = [] )
Обернуть блок текста. Позволяет задать ширину и отступы блока текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезка только по словам (пробелы). По умолчанию true. -
indentОтступ текста с использованием предоставленной строки. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- целое число|массив
$optionsнеобязательно [] - Массив параметров или целое число для обрезки текста.
Возвращает
строкаОформленный/отступленный текст
См. также
\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 )
Установить локатор таблицы. Если параметры не переданы, вернёт текущий используемый локатор.
Устарело
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 - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспех записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergeProperty()source protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединить одно свойство со значениями, объявленными во всех родительских классах.
Параметры
- строка
$property - Имя объединяемого свойства.
- массив
$parentClasses - Массив классов, которые нужно объединить.
- массив
$options - Параметры для объединения свойства, см. _mergeVars()
_mergePropertyData()source protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединить каждый из ключей в свойстве вместе.
Параметры
- массив
$current - Текущее объединённое значение.
- массив
$parent - Значение родительского класса.
- boolean
$isAssoc - Выполнять ли объединение в ассоциативном режиме.
Возвращает
смешанныйОбновлённое значение.
_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
- строка|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 )
Установить или получить тип модели, который будет использоваться этим классом
Устарело
3.5.0 Используйте getModelType()/setModelType() вместо этого.Параметры
- строка|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.7/class-Cake.Shell.SchemaCacheShell.html