Класс SchemaShell
Schema — это утилита управления базами данных командной строки для автоматизации задач программистов.
Schema — это утилита CakePHP для управления базами данных. Она помогает вам отслеживать версии вашей базы данных.
- Объект
-
Shell -
AppShell -
SchemaShell
Ссылка: http://book.cakephp.org/2.0/ru/console-and-shells/schema-management-and-migrations.html
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Console/Command/SchemaShell.php
Наследуемые константы
Резюме свойств
Наследуемые свойства
-
OptionParser,Tasks,_helpers,_lastWritten,_taskMap,args,command,interactive,modelClass,name,params,plugin,stderr,stdin,stdout,taskNames,tasks,uses
Резюме методов
- _create() protected
Создать базу данных из объекта Schema. Должен вызываться через метод run.
- _loadSchema() protectedПодготавливает объекты Schema для операций с базой данных.
- _run() protectedВыполняет SQL из _create() или _update().
- _update() protected
Обновить базу данных с объектом Schema. Должен вызываться через метод run.
- create() publicВыполнить команды создания базы данных. Псевдоним для run create.
- dump() public
Экспортировать объект Schema в файл sql. Используйте параметр
writeдля включения и управления расположением файла SQL. Просто использование -write сохранит файл sql в той же директории, что и файл схемы. Если -write содержит полный путь, файл будет сохранен там. Если -write содержит только имя без разделителя, оно будет использовано в качестве имени файла в той же директории, что и файл схемы. - generate() public
Считывает базу данных и записывает объект схемы. Принимает соединение в качестве первого аргумента или путь для сохранения в качестве второго аргумента.
- getOptionParser() publicПолучает экземпляр анализатора опций и настраивает его.
- startup() publicПереопределить запуск
- update() publicВыполнить команды создания базы данных. Псевдоним для run create.
- view() public
Считывает и выводит содержимое объекта схемы. Путь для чтения в качестве второго аргумента.
Подробное описание методов
_create()исходный код protected
_create( CakeSchema $Schema , string $table null )
Создать базу данных из объекта Schema. Должен вызываться через метод run.
Параметры
-
CakeSchema$Schema - Экземпляр схемы для создания.
- строка
$tableнеобязательно null - Имя таблицы.
_loadSchema()исходный код protected
_loadSchema( )
Подготавливает объекты Schema для операций с базой данных.
_run()исходный код protected
_run( array $contents , string $event , CakeSchema $Schema )
Выполняет SQL из _create() или _update().
Параметры
- массив
$contents - Содержимое для выполнения.
- строка
$event - Событие для запуска
-
CakeSchema$Schema - Экземпляр схемы.
_update()исходный код protected
_update( CakeSchema $Schema , string $table null )
Обновить базу данных с объектом Schema. Должен вызываться через метод run.
Параметры
-
CakeSchema$Schema - $Schema Экземпляр схемы
- строка
$tableнеобязательно null - Имя таблицы.
create()исходный код public
create( )
Выполнить команды создания базы данных. Псевдоним для run create.
dump()исходный код public
dump( )
Экспортировать объект Schema в файл sql. Используйте параметр write для включения и управления расположением файла SQL. Просто использование -write сохранит файл sql в той же директории, что и файл схемы. Если -write содержит полный путь, файл будет сохранен там. Если -write содержит только имя без разделителя, оно будет использовано в качестве имени файла в той же директории, что и файл схемы.
Возвращает
строкаgenerate()исходный код public
generate( )
Считывает базу данных и записывает объект схемы. Принимает соединение в качестве первого аргумента или путь для сохранения в качестве второго аргумента.
getOptionParser()исходный код public
getOptionParser( )
Получает экземпляр анализатора опций и настраивает его.
Возвращает
ConsoleOptionParserПереопределяет
Shell::getOptionParser() update()исходный код public
update( )
Выполнить команды создания базы данных. Псевдоним для run create.
view()исходный код public
view( )
Считывает и выводит содержимое объекта схемы. Путь для чтения в качестве второго аргумента.
Наследуемые методы из Shell
__construct()исходный код 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() __get()source public
__get( string $name )
Перегрузка метода get для ленивой загрузки задач
Параметры
- строка
$name - Имя свойства для доступа.
Возвращает
ShellОбъект Task
__isset()source public
__isset( string $name )
Ленивая загрузка моделей с помощью метода loadModel(), если они объявлены в $uses
Параметры
- строка
$name - Имя модели для поиска.
_checkUnitTest()source protected
_checkUnitTest( )
Действие по созданию юнит-теста
Возвращает
booleanУспех
_controllerName()source protected
_controllerName( string $name )
Создаёт правильное множественное имя контроллера для указанного имени класса контроллера
Параметры
- строка
$name - Имя класса контроллера
Возвращает
строкаМножественное имя контроллера
_controllerPath()source protected
_controllerPath( string $name )
Создаёт правильный путь к контроллеру для указанного имени класса контроллера
Параметры
- строка
$name - Имя класса контроллера
Возвращает
строкаПуть к контроллеру
_displayHelp()source protected
_displayHelp( string $command )
Отображает справку в правильном формате
Параметры
- строка
$command - Команда для получения справки.
_getInput()source protected
_getInput( string $prompt , string|array $options , string $default )
Запрашивает ввод у пользователя и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив
$options - Массив или строка опций.
- строка
$default - Значение ввода по умолчанию.
Возвращает
либозначение по умолчанию, либо ввод, предоставленный пользователем.
_loadModels()source protected
_loadModels( )
Если $uses является массивом, загружает каждую модель из массива
Возвращает
boolean_modelKey()source protected
_modelKey( string $name )
Создаёт правильный подчеркнутый ключ модели для ассоциаций
Параметры
- строка
$name - Имя класса модели
Возвращает
строкаЕдинственное имя модели
_modelName()source protected
_modelName( string $name )
Создаёт правильное именованное (единственное число) имя модели для указанного имени
Параметры
- строка
$name - Имя
Возвращает
строкаИменованное и единственное имя модели
_modelNameFromKey()source protected
_modelNameFromKey( string $key )
Создаёт правильное имя модели из внешнего ключа
Параметры
- строка
$key - Внешний ключ
Возвращает
строкаИмя модели
_pluginPath()source protected
_pluginPath( string $pluginName )
Находит правильный путь для плагина. Просматривает $pluginPaths для нужного плагина.
Параметры
- строка
$pluginName - Имя плагина, например DebugKit
Возвращает
строкаПуть к нужному плагину.
_pluralHumanName()source protected
_pluralHumanName( string $name )
Создаёт множественное человекочитаемое имя, используемое в представлениях
Параметры
- строка
$name - Имя контроллера
Возвращает
строкаМножественное человекочитаемое имя
_pluralName()source protected
_pluralName( string $name )
Создаёт множественное имя для представлений
Параметры
- строка
$name - Имя для использования
Возвращает
строкаМножественное имя для представлений
_singularHumanName()source protected
_singularHumanName( string $name )
Создаёт единственное человекочитаемое имя, используемое в представлениях
Параметры
- строка
$name - Имя контроллера
Возвращает
строкаЕдинственное человекочитаемое имя
_singularName()source protected
_singularName( string $name )
создаёт единственное имя для использования в представлениях.
Параметры
- строка
$name - Множественное значение в нижнем регистре с подчёркиваниями.
Возвращает
строкаимя
_useLogger()source protected
_useLogger( boolean $enable true )
Используется для включения или выключения вывода журнала в стандартный вывод и стандартный вывод ошибок. Если вы не хотите видеть всё, что регистрируется через CakeLog, в стандартном выводе или стандартном выводе ошибок, вызовите эту функцию с первым параметром в виде false.
Параметры
- boolean
$enableопционально true - включать или выключать вывод CakeLog
clear()source public
clear( )
Очистить консоль
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::clearcreateFile()source public
createFile( string $path , string $contents )
Создаёт файл в указанном пути
Параметры
- строка
$path - Местоположение файла.
- строка
$contents - Содержимое файла.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::createFiledispatchShell()source public
dispatchShell( )
Отправляет команду другой оболочке. Аналогично Object::requestAction(), но предназначено для запуска оболочек из других оболочек.
Использование:
Со строковой командой:
return $this->dispatchShell('schema create DbAcl');
Избегайте использования этого формата, если у вас есть строковые аргументы с пробелами в них. Отправленная команда будет вызвана неправильно. Используйте этот формат только для простого отправления команд.
С массивом команд:
return $this->dispatchShell('schema', 'create', 'i18n', '--dry');
Возвращает
смешанноеРезультат работы другой оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::dispatchShellerr()source public
err( string|array $message null , integer $newlines 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только новая строка.
Параметры
- строка|массив
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество новых строк для добавления
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errerror()source public
error( string $title , string $message null )
Отображает отформатированное сообщение об ошибке и завершает приложение со статусом 1
Параметры
- строка
$title - Заголовок ошибки
- строка
$messageнеобязательно null - Необязательное сообщение об ошибке
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::errorhasMethod()source public
hasMethod( string $name )
Проверяет, имеет ли эта оболочка вызываемый метод с заданным именем.
Параметры
- строка
$name - Имя метода для проверки.
Возвращает
booleanСсылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethodhasTask()source public
hasTask( string $task )
Проверяет, имеет ли эта оболочка задачу с заданным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasTaskhelper()source public
helper( string $name )
Загрузить указанный класс помощника оболочки
Параметры
- строка
$name - Имя класса помощника. Поддерживается синтаксис плагина.
Возвращает
BaseShellHelperЭкземпляр класса помощника
Исключения
RuntimeExceptionЕсли предоставлено неверное имя класса
hr()source 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::hrin()source public
in( string $prompt , string|array $options null , string $default null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив
$optionsнеобязательно null - Массив или строка вариантов.
- строка
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
смешанныйЛибо значение по умолчанию, либо введенное пользователем значение.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::ininitialize()source public
initialize( )
Инициализирует оболочку, действует как конструктор для подклассов, позволяет настраивать задачи до выполнения оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::initializeloadModel()source public
loadModel( string $modelClass null , mixed $id null )
Загружает и создает экземпляры моделей, необходимых для этой оболочки.
Параметры
- строка
$modelClassнеобязательно null - Имя класса модели для загрузки
- смешанный
$idнеобязательно null - Начальный ID, который должен иметь созданный экземпляр класса модели
Возвращает
смешанныйtrue при нахождении одной модели и создании экземпляра, возвращает ошибку, если модель не найдена.
Исключения
MissingModelExceptionесли класс модели не может быть найден.
loadTasks()source public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращает
booleannl()source public
nl( integer $multiplier 1 )
Возвращает одну или несколько последовательностей символов новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество раз, которое последовательность символов новой строки должна повторяться
Возвращает
строкаСсылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::nlout()source public
out( string|array $message null , integer $newlines 1 , integer $level Shell::NORMAL )
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводится только новая строка.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::ТИХО, Shell::НОРМАЛЬНО, Shell::ПОЛНОСТЬЮ. Уровни вывода ПОЛНОСТЬЮ и ТИХО соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование Shell::ТИХО для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::ПОЛНОСТЬЮ означает, что оно будет отображаться только при включенном полном выводе.
Параметры
- строка|массив
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество новых строк для добавления
- целое число
$levelнеобязательно Shell::НОРМАЛЬНО - Уровень вывода сообщения, см. выше.
Возвращает
целое число|booleanВозвращает количество байтов, возвращенных при записи в stdout.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::outoverwrite()source public
overwrite( array|string $message , integer $newlines 1 , integer $size null )
Перезаписать некоторые уже выведенные данные.
Полезно для построения полос прогресса или когда нужно заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Вы не можете перезаписывать текст, содержащий новые строки.
Параметры
- массив|строка
$message - Сообщение для вывода.
- целое число
$newlinesнеобязательно 1 - Количество новых строк для добавления.
- целое число
$sizeнеобязательно null - Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращает
целое число|booleanВозвращает количество байтов, возвращенных при записи в stdout.
param()source public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращает
строка|boolean|nullЗначение. Возвращает null, если параметр не существует.
runCommand()source public
runCommand( string $command , array $argv )
Запускает оболочку с предоставленными argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все недостающие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Параметры
- строка
$command Имя команды для запуска в этой оболочке. Если этот аргумент пустой, а у оболочки есть метод
main(), он будет вызван вместо этого.- массив
$argv - Массив аргументов для запуска оболочки. В этом массиве должно отсутствовать имя оболочки.
Ссылка
http://book.cakephp.org/2.0/en/console-and-shells.html#Shell::runCommandshortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
строкакороткое имя пути
Ссылка
http://book.cakephp.org/2.0/en/console-and-shells.html#Shell::shortPathwrapText()source public
wrapText( string $text , string|integer|array $options array() )
Обертывает блок текста. Позволяет задать ширину и отступы блока текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезать только по пробелам. По умолчанию true. -
indentОтступ текста с помощью предоставленной строки. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- строка/целое число/массив
$optionsопционально массив() - Массив опций для использования или целое число для обрезки текста.
Возвращает
строкаОбрезанный/отступленный текст
См.
CakeText::wrap()Ссылка
http://book.cakephp.org/2.0/en/console-and-shells.html#Shell::wrapTextМетоды, унаследованные от Объект
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства $property этого объекта со свойством в определении $class. Значение свойства этого класса будет объединено поверх $class'
Это обеспечивает часть DRY-магии CakePHP. Если вы хотите это отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логическое значение
$normalizeопционально true - Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesопционально массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Прекратить выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число/строка
$statusопционально 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную оболочку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsопционально массив() - Список параметров для использования при вызове $method
Возвращает
смешанныйВозвращает результат вызова метода
log()source 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() для получения дополнительной информации о сферах ведения журнала.
Возвращает
логическое значениеУспешность записи в журнал
requestAction()source 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опционально массив() Если массив содержит ключ "return", устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
смешанныйЛогическое значение true или false при успехе/неудаче, или содержимое рендеренного действия, если в $extra задан ключ 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращает
строкаИмя этого класса
Подробности свойств
© 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.8/class-SchemaShell.html