Spec-Zone.ru › CakePHP 3.8

Класс SchemaCacheShell

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

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

Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
Расширен 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
Код завершения командной строки. 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 deprecated

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 = [] )

Отобразить помощника командной строки

Создать и отобразить вывод для объекта помощника. Если объект помощника ещё не загружен, он будет загружен и создан.

Параметры

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

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

Ссылка

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

io()source public deprecated

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 означает, что оно будет отображаться только при включенном verbose-выводе.

Параметры

строка|массив|null $message необязательно null
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество добавляемых новых строк
целое число $level необязательно Cake\Shell\Shell::NORMAL
Уровень вывода сообщения, см. выше.

Возвращает

целое число|логическое значение
Количество байтов, возвращенных при записи в стандартный вывод.

Ссылка

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

param()source public

param( string $name )

Безопасно получить значения в $this->params.

Параметры

строка $name
Имя параметра для получения.

Возвращает

строка|логическое значение|null
Значение. Вернет null, если параметр не существует.

parseDispatchArguments()source public

parseDispatchArguments( array $args )

Парсит аргументы для метода dispatchShell().

Параметры

массив $args

Аргументы, полученные из метода dispatchShell() с помощью func_get_args()

Возвращает

массив

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


quiet()source public

quiet( string|array $message , integer $newlines = 1 )

Вывод на всех уровнях.

Параметры

строка|массив $message
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество добавляемых новых строк

Возвращает

целое число|логическое значение
Количество байтов, возвращенных при записи в стандартный вывод.

runCommand()source public

runCommand( array $argv , boolean $autoMethod = false , array $extra = [] )

Выполняет Shell с предоставленным argv.

Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:

  • Метод в оболочке.
  • Соответствующее имя задачи.
  • main() метод.

Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с исходным именем метода в argv.

Для вызова задач они должны быть представлены в виде подкоманд. Если вы определите какие-либо подкоманды, вы должны определить все необходимые подкоманды вашей оболочки, будь то методы этого класса или методы задач.

Параметры

массив $argv
Массив аргументов для запуска оболочки. В этом массиве должно отсутствовать имя оболочки.
логическое значение $autoMethod необязательно false

Установите в значение true, чтобы разрешить вызов любого публичного метода, даже если он не был определен как подкоманда. Это используется ShellDispatcher для облегчения создания простых оболочек.

массив $extra необязательно []

Дополнительные параметры, которые можно вручную передать оболочке для обработки. Встроенный дополнительный параметр — : - requested : при использовании будет предотвращено отображение приветствия оболочки

Возвращает

целое число|логическое значение|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 )

Устанавливает имя корневой команды для вывода справки.

Параметры

строка $name
Имя корневой команды.

Возвращает


$this

shortPath()source public

shortPath( string $file )

Делает абсолютный путь к файлу более читаемым.

Параметры

строка $file
Абсолютный путь к файлу

Возвращает

строка
короткое имя пути

Ссылка

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

startup()source public

startup( )

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

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

Ссылка

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(), который заключает сообщение между тегами

Параметры

строка|массив|null $message необязательно null
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество добавляемых новых строк
целое число $level необязательно Cake\Shell\Shell::NORMAL
Уровень вывода сообщения, см. выше.

Возвращает

целое число|логическое значение
Количество байтов, возвращенных при записи в стандартный вывод.

См. также

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

verbose()source public

verbose( string|array $message , integer $newlines = 1 )

Вывод на уровне verbose.

Параметры

строка|массив $message
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество добавляемых новых строк

Возвращает

целое число|логическое значение
Количество байтов, возвращенных при записи в стандартный вывод.

warn()source public

warn( string|array|null $message = null , integer $newlines = 1 )

Удобный метод для err(), который заключает сообщение между тегами

Параметры

строка|массив|null $message необязательно null
Строка или массив строк для вывода
целое число $newlines необязательно 1
Количество добавляемых новых строк

Возвращает

целое число|логическое значение
Количество байтов, возвращенных при записи в стандартный вывод.

См. также

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, так как больше не используется.

Параметры

строка $messageType
Тип сообщения, например "предупреждение".
строка|массив $message
Сообщение для обёртывания.

Возвращает

массив|строка
Сообщение, обернутое заданным типом сообщения.
END_OF_DOCUMENT_MARKER

wrapText()source public

wrapText( string $text , integer|array $options = [] )

Обёртывание блока текста. Позволяет задать ширину и отступы для блока текста.

Параметры

  • width Ширина обёртывания. По умолчанию 72
  • wordWrap Обёртывать только по словам (пробелам). По умолчанию true.
  • indent Отступ текста указанной строкой. По умолчанию null.

Параметры

string $text
Текст для форматирования.
integer|array $options необязательно []
Массив параметров или целое число для ширины обёртывания.

Возвращает

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\LocatorInterface

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

Получение типа модели, используемого этим классом

Возвращает

string

loadModel()source public

loadModel( string|null $modelClass = null , string|null $modelType = null )

Загрузка и создание объектов репозитория, необходимых этому объекту

Обычно используется для загрузки объектов таблиц ORM. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.

Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.

Параметры

string|null $modelClass необязательно null

Имя класса модели для загрузки. По умолчанию $this->modelClass. Имя может быть псевдонимом, например, 'Post' или FQCN, например, App\Model\Table\PostsTable::class.

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–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.SchemaCacheShell.html

Spec-Zone.ru

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