Spec-Zone.ru › CakePHP 2.7

Класс SchemaShell

Schema — это утилита командной строки для управления базами данных, предназначенная для автоматизации задач программистов.

Schema — это утилита управления базами данных CakePHP. Она помогает вам сохранять версии вашей базы данных.

Объект
Extended by Shell
Extended by AppShell
Extended by SchemaShell
Пакет: Cake\Console\Command
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Ссылка: http://book.cakephp.org/2.0/ru/console-and-shells/schema-management-and-migrations.html
Расположено в Cake/Console/Command/SchemaShell.php

Подробное описание методов

_createsource protected

_create( CakeSchema $Schema , string $table null )

Создаёт базу данных из объекта Schema. Должен вызываться через метод run.

Параметры

CakeSchema $Schema
Экземпляр объекта схемы для создания.
строка $table необязательно null
Имя таблицы.

_loadSchemasource protected

_loadSchema( )

Подготавливает объекты Schema для операций с базой данных.

_runsource protected

_run( array $contents , string $event , CakeSchema $Schema )

Выполняет SQL-запросы из _create() или _update().

Параметры

массив $contents
Содержимое для выполнения.
строка $event
Событие для запуска.
CakeSchema $Schema
Экземпляр объекта схемы.

_updatesource protected

_update( CakeSchema $Schema , string $table null )

Обновляет базу данных с помощью объекта Schema. Должен вызываться через метод run.

Параметры

CakeSchema $Schema
$Schema Экземпляр объекта схемы
строка $table необязательно null
Имя таблицы.

createsource public

create( )

Выполняет команды создания базы данных. Псевдоним для run create.

dumpsource public

dump( )

Экспортирует объект Schema в SQL-файл. Используйте параметр write для включения и управления расположением выходного SQL-файла. Просто использование -write запишет SQL-файл в ту же директорию, что и файл схемы. Если -write содержит полный путь, файл будет сохранён по этому пути. Если -write содержит только имя без разделителя каталогов (DS), это будет использовано в качестве имени файла в той же директории, что и файл схемы.

Возвращает

string
строка

generatesource public

generate( )

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

getOptionParsersource public

getOptionParser( )

Получает экземпляр парсера опций и настраивает его.

Возвращает

ConsoleOptionParser
ConsoleOptionParser

Переопределяет

Shell::getOptionParser()

startupsource public

startup( )

Переопределяет запуск.

Переопределяет

Shell::startup()

updatesource public

update( )

Выполняет команды обновления базы данных. Псевдоним для run update.

viewsource public

view( )

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

Наследованные методы от Shell

__constructsource public

__construct( ConsoleOutput $stdout null , ConsoleOutput $stderr null , ConsoleInput $stdin null )

Создаёт экземпляр этого Shell.

Параметры

ConsoleOutput $stdout необязательно null
Объект ConsoleOutput для стандартного вывода.
ConsoleOutput $stderr необязательно null
Объект ConsoleOutput для стандартного потока ошибок.
ConsoleInput $stdin необязательно null
Объект ConsoleInput для стандартного ввода.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell

Переопределяет

Object::__construct()

__getsource public

__get( string $name )

Перегрузка get для ленивого создания задач.

Параметры

строка $name
Имя свойства для доступа.

Возвращает

Shell
Объект задачи

__issetsource public

__isset( string $name )

Ленично загружает модели с помощью метода loadModel() если они объявлены в $uses.

Параметры

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

_checkUnitTestsource protected

_checkUnitTest( )

Действие по созданию unit-теста.

Возвращает

boolean
Успех

_controllerNamesource protected

_controllerName( string $name )

Создаёт правильное множественное имя контроллера для указанного имени класса контроллера.

Параметры

строка $name
Имя класса контроллера.

Возвращает

string
Множественное имя контроллера

_controllerPathsource protected

_controllerPath( string $name )

Создаёт правильный путь к контроллеру для указанного имени класса контроллера.

Параметры

строка $name
Имя класса контроллера.

Возвращает

string
Путь к контроллеру

_displayHelpsource protected

_displayHelp( string $command )

Отображает справку в правильном формате.

Параметры

строка $command
Команда, для которой требуется справка.

_getInputsource protected

_getInput( string $prompt , string|array $options , string $default )

Запрашивает у пользователя ввод и возвращает его.

Параметры

строка $prompt
Текст запроса.
строка|массив $options
Массив или строка опций.
строка $default
Значение ввода по умолчанию.

Возвращает

Either
значение по умолчанию или введённое пользователем.
END_OF_DOCUMENT_MARKER

_loadModelssource protected

_loadModels( )

Если $uses является массивом, загрузить каждый из моделей в массиве

Возвращает

boolean
bool

_modelKeysource protected

_modelKey( string $name )

Создаёт правильный подчеркнутый ключ модели для ассоциаций

Параметры

string $name
Имя класса модели

Возвращает

string
Единичный ключ модели

_modelNamesource protected

_modelName( string $name )

Создаёт правильное имя модели с использованием CamelCase (единственное число) для указанного имени

Параметры

string $name
Имя

Возвращает

string
Имя модели с CamelCase и единственным числом

_modelNameFromKeysource protected

_modelNameFromKey( string $key )

Создаёт правильное имя модели из внешнего ключа

Параметры

string $key
Внешний ключ

Возвращает

string
Имя модели

_pluginPathsource protected

_pluginPath( string $pluginName )

Находит правильный путь для плагина. Просматривает $pluginPaths для нужного плагина.

Параметры

string $pluginName
Имя плагина (например, DebugKit)

Возвращает

string
Путь к плагину.

_pluralHumanNamesource protected

_pluralHumanName( string $name )

Создаёт имя в множественном числе, используемое в представлениях

Параметры

string $name
Имя контроллера

Возвращает

string
Имя в множественном числе

_pluralNamesource protected

_pluralName( string $name )

Создаёт имя в множественном числе для представлений

Параметры

string $name
Имя для использования

Возвращает

string
Имя в множественном числе для представлений

_singularHumanNamesource protected

_singularHumanName( string $name )

Создаёт имя в единственном числе, используемое в представлениях

Параметры

string $name
Имя контроллера

Возвращает

string
Имя в единственном числе

_singularNamesource protected

_singularName( string $name )

Создаёт имя в единственном числе для использования в представлениях.

Параметры

string $name
Значение в множественном числе (с нижним подчеркиванием).

Возвращает

string
Имя

_useLoggersource protected

_useLogger( boolean $enable true )

Используется для включения или выключения вывода потока логгирования в stdout и stderr. Если вы не хотите видеть в вашем stdout или stderr всё, что записывается через CakeLog, вызовите эту функцию с первым параметром false

Параметры

boolean $enable optional true
Включить ли вывод CakeLog

_welcomesource protected

_welcome( )

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

clearsource public

clear( )

Очистить консоль

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::clear

createFilesource public

createFile( string $path , string $contents )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::createFile

dispatchShellsource public

dispatchShell( )

Отправить команду в другую оболочку. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.

Использование:

Со строковой командой:

return $this->dispatchShell('schema create DbAcl');

Избегайте использования этого формата, если у вас есть строковые аргументы с пробелами. Отправленная оболочка будет вызвана неправильно. Используйте этот формат только для простого отправления команд.

С массивом команд:

return $this->dispatchShell('schema', 'create', 'i18n', '--dry');

Возвращает

mixed
Результат работы другой оболочки.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::dispatchShell

errsource public

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

Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводит только новую строку.

Параметры

string|array $message optional null
Строка или массив строк для вывода
integer $newlines optional 1
Количество новых строк для добавления

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::err

errorsource public

error( string $title , string $message null )

Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1

Параметры

string $title
Заголовок ошибки
string $message optional null
Необязательное сообщение об ошибке

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::error

hasMethodsource public

hasMethod( string $name )

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

Параметры

string $name
Имя метода для проверки.

Возвращает

boolean
bool

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethod

hasTasksource public

hasTask( string $task )

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTask
END_OF_DOCUMENT_MARKER

hrsource public

hr( integer $newlines 0 , integer $width 63 )

Выводит серию символов минус в стандартный вывод, используется в качестве визуального разделителя.

Параметры

целое число $newlines необязательно 0
Количество новых строк для добавления в начало и конец
целое число $width необязательно 63
Ширина линии, по умолчанию 63

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hr

insource public

in( string $prompt , string|array $options null , string $default null )

Запрашивает у пользователя ввод и возвращает его.

Параметры

строка $prompt
Текст запроса.
строка|массив $options необязательно null
Массив или строка с опциями.
строка $default необязательно null
Значение ввода по умолчанию.

Возвращает

mixed
Либо значение по умолчанию, либо введенное пользователем значение.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::in

initializesource public

initialize( )

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

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initialize

loadModelsource public

loadModel( string $modelClass null , mixed $id null )

Загружает и инициализирует модели, необходимые для данного shell.

Параметры

строка $modelClass необязательно null
Имя класса модели для загрузки
смешанный тип $id необязательно null
Начальный идентификатор, который должна иметь созданная модель

Возвращает

mixed
true, если модель найдена и экземпляр создан, возвращает ошибку, если модель не найдена.

Выбрасывает

MissingModelException
если класс модели не может быть найден.

loadTaskssource public

loadTasks( )

Загружает задачи, определенные в public $tasks

Возвращает

boolean
bool

nlsource public

nl( integer $multiplier 1 )

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

Параметры

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

Возвращает

string
строка

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::nl

outsource public

out( string|array $message null , integer $newlines 1 , integer $level Shell::NORMAL )

Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводит только символ новой строки.

Уровни вывода

Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.

Параметры

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

Возвращает

integer|boolean
Возвращает количество байтов, возвращенных при записи в стандартный вывод.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::out

overwritesource public

overwrite( array|string $message , integer $newlines 1 , integer $size null )

Перезаписывает уже выведенный текст.

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

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

Параметры

массив|строка $message
Сообщение для вывода.
целое число $newlines необязательно 1
Количество символов новой строки для добавления.
целое число $size необязательно null
Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.

Возвращает

integer|boolean
Возвращает количество байтов, возвращенных при записи в стандартный вывод.

paramsource public

param( string $name )

Безопасный доступ к значениям в $this->params.

Параметры

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

Возвращает

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

runCommandsource public

runCommand( string $command , array $argv )

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

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

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

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

Параметры

строка $command
Имя команды для выполнения в данном shell. Если этот аргумент пустой, и в shell есть метод main(), он будет вызван вместо него.
массив $argv
Массив аргументов для выполнения shell. В этом массиве должно отсутствовать имя shell.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::runCommand

shortPathsource public

shortPath( string $file )

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

Параметры

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

Возвращает

string
короткий путь

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPath

wrapTextsource public

wrapText( string $text , string|integer|array $options array() )

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

Опции

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

Параметры

строка $text
Текст для форматирования.
строка|целое число|массив $options необязательно массив()
Массив опций или целое число для обрезки текста.

Возвращает

string
Отформатированный текст

См. также

CakeText::wrap()

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::wrapText

Методы, унаследованные от Object

_mergeVarssource protected

_mergeVars( array $properties , string $class , boolean $normalize true )

Объединяет свойства текущего объекта $property со свойствами в определении $class. Значение свойства для этого класса будет объединено сверху значения $class.

Это обеспечивает некоторую из DRY-магии CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.

Параметры

массив $properties
Имя свойств для объединения.
строка $class
Класс, со свойствами которого объединяются.
булево $normalize необязательно true
Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.

_setsource protected

_set( array $properties array() )

Позволяет устанавливать несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.

Параметры

массив $properties необязательно array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stopsource protected

_stop( integer|string $status 0 )

Прекратить выполнение текущего скрипта. Оборачивает exit(), что облегчает тестирование.

Параметры

целое число/строка $status необязательно 0
См. http://php.net/exit для значений

dispatchMethodsource public

dispatchMethod( string $method , array $params array() )

Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО оболочку для call_user_func_array

Параметры

строка $method
Имя вызываемого метода
массив $params необязательно array()
Список параметров для использования при вызове $method

Возвращает

mixed
Возвращает результат вызова метода

logsource public

log( string $msg , integer $type LOG_ERR , null|string|array $scope null )

Удобный метод для записи сообщения в CakeLog. См. CakeLog::write() для получения более подробной информации о записи в журналы.

Параметры

строка $msg
Сообщение журнала
целое число $type необязательно LOG_ERR
Константа типа ошибки. Определена в app/Config/core.php.
null|строка|массив $scope необязательно null
Область(и), в которой создаётся сообщение журнала. См. CakeLog::config() для получения дополнительной информации о областях ведения журналов.

Возвращает

boolean
Успех записи в журнал

requestActionsource public

requestAction( string|array $url , array $extra array() )

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

Внутри этого метода используется Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse()

Передача данных POST и GET

Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.

Параметры

строка/массив $url
Строка или массив-базируемый URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать передаваемые и именованные аргументы в параметре $url.
массив $extra необязательно array()
Если массив содержит ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/передаваемых аргументов.

Возвращает

mixed
Булево значение true или false об успехе/неудачи, или содержимое рендерного действия, если в $extra установлен ключ 'return'.

toStringsource public

toString( )

Преобразование объекта в строку. Каждый класс может переопределить этот метод при необходимости.

Возвращает

string
Имя этого класса

Константы, унаследованные от Shell

CODE_ERROR, NORMAL, QUIET, VERBOSE

Сводка свойств

$Schemasource

public CakeSchema

Используемый класс Schema.

$_drysource

protected boolean

это пробный запуск?

null

Свойства, унаследованные от Shell

$OptionParsersource

public ConsoleOptionParser

Экземпляр ConsoleOptionParser, настроенный для этого класса.

$Taskssource

public TaskCollection

Коллекция задач для команды, используемая для создания задач.

$_lastWrittensource

protected целое число

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

$_taskMapsource

protected строка

Нормализованный массив задач.

array()

$argssource

public массив

Содержит аргументы, проанализированные из командной строки.

array()

$commandsource

public строка

Команда (метод/задача), которая выполняется.

$interactivesource

public логическое значение

Если true, скрипт запросит разрешение на выполнение действий.

true

$modelClasssource

public строка

Имя основного класса модели этого шелла, первой модели в свойстве $uses.

null

$namesource

public строка

Имя шелла в формате camelized.

null

$paramssource

public массив

Содержит параметры команд, проанализированные из командной строки.

array()

$pluginsource

public строка

Имя плагина, к которому относится шелл. Автоматически устанавливается ShellDispatcher при создании шелла.

null

$stderrsource

public ConsoleOutput

Объект stderr.

$stdinsource

public ConsoleInput

Объект stdin

$stdoutsource

public ConsoleOutput

Объект stdout.

$taskNamessource

public массив

Содержит загруженные задачи.

array()

$taskssource

public массив

Содержит задачи для загрузки и инициализации.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$tasks
array()

$usessource

public массив

Содержит модели для загрузки и инициализации.

Ссылка

http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$uses
array()

© 2005–2016 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.
http://api.cakephp.org/2.7/class-SchemaShell.html

Spec-Zone.ru

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