Класс SchemaShell
Schema — это утилита командной строки для управления базами данных, предназначенная для автоматизации задач программистов.
Schema — это утилита управления базами данных CakePHP. Она помогает вам сохранять версии вашей базы данных.
- Объект
-
Shell -
AppShell -
SchemaShell
Авторские права: 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 - Имя таблицы.
dumpsource public
dump( )
Экспортирует объект Schema в SQL-файл. Используйте параметр write для включения и управления расположением выходного SQL-файла. Просто использование -write запишет SQL-файл в ту же директорию, что и файл схемы. Если -write содержит полный путь, файл будет сохранён по этому пути. Если -write содержит только имя без разделителя каталогов (DS), это будет использовано в качестве имени файла в той же директории, что и файл схемы.
Возвращает
stringстрока
generatesource public
generate( )
Читает базу данных и записывает объект схемы. Принимает подключение в качестве первого аргумента или путь для сохранения во втором аргументе.
getOptionParsersource public
getOptionParser( )
Получает экземпляр парсера опций и настраивает его.
Возвращает
ConsoleOptionParserConsoleOptionParser
Переопределяет
Shell::getOptionParser() 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значение по умолчанию или введённое пользователем.
_loadModelssource protected
_loadModels( )
Если $uses является массивом, загрузить каждый из моделей в массиве
Возвращает
booleanbool
_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
$enableoptional true - Включить ли вывод CakeLog
clearsource public
clear( )
Очистить консоль
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::clearcreateFilesource public
createFile( string $path , string $contents )
Создаёт файл по заданному пути
Параметры
- string
$path - Куда поместить файл.
- string
$contents - Содержимое файла.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::createFiledispatchShellsource 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::dispatchShellerrsource public
err( string|array $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводит только новую строку.
Параметры
- string|array
$messageoptional null - Строка или массив строк для вывода
- integer
$newlinesoptional 1 - Количество новых строк для добавления
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errerrorsource public
error( string $title , string $message null )
Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1
Параметры
- string
$title - Заголовок ошибки
- string
$messageoptional null - Необязательное сообщение об ошибке
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errorhasMethodsource public
hasMethod( string $name )
Проверяет, имеет ли эта оболочка вызываемый метод с заданным именем.
Параметры
- string
$name - Имя метода для проверки.
Возвращает
booleanbool
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethodhasTasksource public
hasTask( string $task )
Проверяет, есть ли у этой оболочки задача с указанным именем.
Параметры
- string
$task - Имя задачи для проверки.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTaskhrsource 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::hrinsource 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::ininitializesource public
initialize( )
Инициализирует Shell, выступает в роли конструктора для подклассов, позволяет настроить задачи перед выполнением shell.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initializeloadModelsource public
loadModel( string $modelClass null , mixed $id null )
Загружает и инициализирует модели, необходимые для данного shell.
Параметры
- строка
$modelClassнеобязательно null - Имя класса модели для загрузки
- смешанный тип
$idнеобязательно null - Начальный идентификатор, который должна иметь созданная модель
Возвращает
mixedtrue, если модель найдена и экземпляр создан, возвращает ошибку, если модель не найдена.
Выбрасывает
MissingModelExceptionесли класс модели не может быть найден.
loadTaskssource public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращает
booleanbool
nlsource public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество раз, которое последовательность новой строки должна повторяться
Возвращает
stringстрока
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::nloutsource 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::outoverwritesource 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::runCommandshortPathsource public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
stringкороткий путь
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPathwrapTextsource 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 |
Сводка свойств
Свойства, унаследованные от Shell
$OptionParsersource
public ConsoleOptionParser
Экземпляр ConsoleOptionParser, настроенный для этого класса.
$_lastWrittensource
protected целое число
Количество байтов, последне записанных в поток вывода, используемое при перезаписи предыдущего сообщения.
$interactivesource
public логическое значение
Если true, скрипт запросит разрешение на выполнение действий.
true $modelClasssource
public строка
Имя основного класса модели этого шелла, первой модели в свойстве $uses.
null $paramssource
public массив
Содержит параметры команд, проанализированные из командной строки.
array() $pluginsource
public строка
Имя плагина, к которому относится шелл. Автоматически устанавливается ShellDispatcher при создании шелла.
null $taskssource
public массив
Содержит задачи для загрузки и инициализации.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$tasksarray() $usessource
public массив
Содержит модели для загрузки и инициализации.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::$usesarray()
© 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