Spec-Zone.ru › CakePHP 3.7

Класс SchemaCacheShell

Оболочка кэша схем.

Предоставляет интерфейс командной строки для функций кэширования метаданных схемы. Этот инструмент предназначен для использования скриптами развертывания, чтобы предотвратить эффект «толпы слонов» на кэше метаданных при развертывании новых версий приложения или при необходимости миграций, требующих обновлённых метаданных.

Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
Extended by Cake\Shell\SchemaCacheShell

Непосредственные подклассы

  • Cake\Shell\OrmCacheShell
Пространство имён: Cake\Shell
Расположение: Shell/SchemaCacheShell.php

Унаследованные константы

  • CODE_ERROR, CODE_SUCCESS, NORMAL, QUIET, VERBOSE

Унаследованные свойства

  • 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\SchemaCache

build()source public

build( string|null $name = null )

Построение метаданных.

Параметры

string|null $name необязательно null
Имя таблицы, для которой необходимо построить данные кэша.

Возвращает

boolean

clear()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( )

Проверяет, что задачи в карте задач фактически доступны

Исключения

RuntimeException

_welcome()source protected

_welcome( )

Отображает заголовок оболочки

abort()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-output

createFile()source public

createFile( string $path , string $contents )

Создаёт файл по указанному пути

Параметры

string $path
Куда поместить файл.
string $contents
Содержание для файла.

Возвращает

boolean
Успешно

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#creating-files
END_OF_DOCUMENT_MARKER

dispatchShell()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-shell

err()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-output

getIo()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-tasks

hasTask()source public

hasTask( string $task )

Проверить, есть ли в этой оболочке задача с указанным именем.

Параметры

string $task
Имя задачи для проверки.

Возвращает

boolean
Успех

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#shell-tasks

helper()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::hr

in()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::in

info()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::out

initialize()source public

initialize( )

Инициализирует оболочку, действует как конструктор для подклассов, позволяет настроить задачи до выполнения оболочки

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initialize

io()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

Возвращает

boolean

nl()source public

nl( integer $multiplier = 1 )

Возвращает одну или несколько последовательностей символов перевода строки.

Параметры

integer $multiplier необязательно 1
Количество повторений последовательности символов перевода строки

Возвращает

string

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nl
END_OF_DOCUMENT_MARKER

out()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::out

param()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-console

setIo()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::shortPath

startup()source public

startup( )

Инициализирует оболочку и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основного выполнения

Переопределите этот метод, если хотите удалить приветственную информацию или иначе изменить поток до команды.

Ссылка

https://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startup

success()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::out

verbose()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::err

wrapMessageWithType()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\LocatorInterface

setTableLocator()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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API