Класс UpgradeShell
Класс оболочки, помогающий разработчикам обновлять приложения до CakePHP 2.0
- Объект
-
Оболочка -
AppShell -
UpgradeShell
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Console/Command/UpgradeShell.php
Унаследованные константы
Резюме свойств
Унаследованные свойства
-
OptionParser,Tasks,_helpers,_lastWritten,_taskMap,args,command,interactive,modelClass,name,params,plugin,stderr,stdin,stdout,taskNames,tasks,uses
Резюме методов
- _filesRegexpUpdate() protectedОбновляет файлы на основе регулярных выражений.
- _findFiles() protectedИщет файлы в путях по расширению.
- _moveAppClasses() protectedПеремещает классы AppController и AppModel.
- _movePhpFiles() protectedПеремещает файлы PHP приложения в нужное место.
- _moveViewFiles() protectedПеремещает файлы представлений приложения в нужное место.
- _updateFile() protectedОбновляет один файл.
- all() publicВыполняет все шаги обновления по одному.
- basics() publicОбновляет удалённые базовые функции.
- components() publicОбновление компонентов.
- configure() publicОбновление вызовов Configure::read() без параметров.
- constants() publicКонстанты
- controller_redirects() publicОбновление перенаправлений контроллеров.
- exceptions() public
Заменяет cakeError встроенными исключениями. ПРИМЕЧАНИЕ: это игнорирует вызовы, где вы передали свои собственные вторичные параметры в cakeError().
- getOptionParser() publicПолучает экземпляр парсера опций и настраивает его.
- helpers() publicОбновление хелперов.
- i18n() publicОбновление i18n.
- locations() publicПеремещает файлы и папки в новые места.
- request() publicОбновление свойств, перемещённых в CakeRequest.
- startup() publicЗапуск оболочки, выводит сообщение об информационном режиме сухой прогона.
- tests() publicОбновление тестов.
Подробное описание методов
_filesRegexpUpdate()source protected
_filesRegexpUpdate( array $patterns )
Обновляет файлы на основе регулярных выражений.
Параметры
- массив
$patterns - Массив шаблонов поиска и замены.
_findFiles()source protected
_findFiles( string $extensions '' )
Ищет пути и находит файлы на основе расширения.
Параметры
- строка
$extensionsнеобязательно '' - Расширения для включения. По умолчанию — пусто.
_movePhpFiles()source protected
_movePhpFiles( string $path , array $options )
Перемещает файлы PHP приложения в нужное место.
Находит все файлы PHP в папке (с рекурсией) и определяет, куда CakePHP ожидает разместить файл. Если файл находится не там, где ожидается, перемещает его.
Параметры
- строка
$path - Путь для перемещения файлов.
- массив
$options - массив(рекурсивно, проверять папку)
_moveViewFiles()source protected
_moveViewFiles( )
Перемещает файлы представлений приложения в нужное место.
Находит все файлы представлений в папке и определяет, куда CakePHP ожидает разместить файл.
_updateFile()source protected
_updateFile( string $file , array $patterns )
Обновляет один файл.
Параметры
- строка
$file - Файл для обновления
- массив
$patterns - Шаблоны замены для выполнения.
basics()source public
basics( )
Обновляет удаленные базовые функции.
- a() -> array()
- e(*) -> echo *
- ife(*, *, ) -> !empty() ? * : *
- a() -> array()
- r(*, *, ) -> str_replace(, *, *)
- up() -> strtoupper()
- low(*, *, ) -> strtolower()
- getMicrotime() -> microtime(true)
components()source public
components( )
Обновляет компоненты.
- Преобразовывает компоненты, расширяющие Object, в компоненты, расширяющие Component.
controller_redirects()source public
controller_redirects( )
Обновляет перенаправления контроллеров.
- Делает инструкции перенаправления возвращающими раннее.
exceptions()source public
exceptions( )
Заменить cakeError на встроенные исключения. ПРИМЕЧАНИЕ: это игнорирует вызовы, где вы передали свои собственные вторичные параметры в cakeError().
getOptionParser()source public
getOptionParser( )
Получает экземпляр анализатора опций и настраивает его.
Возвращает
ConsoleOptionParserПереопределяет
Shell::getOptionParser() helpers()source public
helpers( )
Обновление помощников.
- Преобразует использование помощников в новый формат.
i18n()source public
i18n( )
Обновить i18n.
- Удаляет дополнительный параметр true.
- Добавляет echo к вызовам __*(), которые раньше его не нуждались.
locations()source public
locations( )
Перемещение файлов и папок в новые места
Перемещает папки, содержащие файлы, которые не могут быть автоматически обнаружены (libs и templates), а затем ищет все php-файлы, кроме vendors, и перемещает их туда, где Cake 2.0 ожидает их найти.
startup()source public
startup( )
Запуск оболочки, выводит сообщение об информационном режиме.
Переопределяет
Shell::startup() tests()source public
tests( )
Обновить тесты.
- Обновить имена классов тестов на FooTest вместо FooTestCase.
Методы, унаследованные от Shell
__construct()source public
__construct( ConsoleOutput $stdout null , ConsoleOutput $stderr null , ConsoleInput $stdin null )
Создает экземпляр этой оболочки.
Параметры
-
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Объект задачи
__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 )
Используется для включения или выключения вывода потоков регистрации в stdout и stderr. Если вы не хотите видеть в stdout или stderr всё, что регистрируется через CakeLog, вызовите эту функцию с первым параметром false
Параметры
- логический
$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 - Содержание, которое нужно поместить в файл.
Возвращаемое значение
логическийУспешно
Ссылка
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 - Имя метода для проверки.
Возвращаемое значение
логическийСсылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::hasMethodhasTask()source public
hasTask( string $task )
Проверяет, есть ли у этой оболочки задача с заданным именем.
Параметры
- строка
$task - Имя задачи для проверки.
Возвращаемое значение
логическийУспех
Ссылка
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 - Изначальный идентификатор, который должна иметь созданная модель
Возвращаемое значение
смешанныйtrue, если найдена отдельная модель и создан экземпляр, возвращает ошибку, если модель не найдена.
Исключения
MissingModelExceptionЕсли класс модели не может быть найден.
loadTasks()source public
loadTasks( )
Загружает задачи, определённые в public $tasks
Возвращаемое значение
логическийnl()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 )
Выводит одно или несколько сообщений в стандартный вывод. Если параметров нет, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. В то время как использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- строка|массив
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательно Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|булевоВозвращает количество байтов, возвращённых при записи в стандартный вывод.
Ссылка
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 - Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращает
целое число|булевоВозвращает количество байтов, возвращённых при записи в стандартный вывод.
param()source public
param( string $name )
Безопасно получить значения из $this->params.
Параметры
- строка
$name - Имя параметра для получения.
Возвращает
строка|булево|nullЗначение. Возвращает null, если параметр не существует.
runCommand()source public
runCommand( string $command , array $argv )
Выполняет оболочку с предоставленным argv.
Делегирует вызовы задачам и разрешает методы внутри класса. Команды ищутся в следующем порядке:
- Метод в оболочке.
- Соответствующее имя задачи.
-
main()метод.
Если оболочка реализует метод main(), все отсутствующие вызовы методов будут отправлены в main() с оригинальным именем метода в argv.
Параметры
- строка
$command Имя команды для выполнения в этой оболочке. Если этот аргумент пустой, и оболочка имеет метод
main(), этот метод будет вызван вместо этого.- массив
$argv - Массив аргументов для выполнения оболочки. В этом массиве должно отсутствовать имя оболочки.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::runCommandshortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
строкакороткое обозначение пути
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::shortPathwrapText()source public
wrapText( string $text , string|integer|array $options array() )
Оборачивает блок текста. Позволяет задать ширину и отступ для блока текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезка только по словам (пробелы). По умолчанию true. -
indentОтступ текста заданной строкой. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- строка|целое число|массив
$optionsнеобязательно array() - Массив опций для использования или целое число для обрезки текста.
Возвращает
строкаОборачиваемый/отступающий текст
См. также
CakeText::wrap()Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::wrapTextМетоды, унаследованные от Object
_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необязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_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необязательно array() - Список параметров для использования при вызове $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необязательно array() Если массив содержит ключ "return", устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST, а также именованных/переданных аргументов.
Возвращаемое значение
смешанный типБулевое значение true или false при успехе/неудаче, или содержимое рендеренного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращаемое значение
строкаИмя этого класса
Подробное описание свойств
$_mapsource
защищено массив
Карта
array(
'Controller' => 'Controller',
'Component' => 'Controller/Component',
'Model' => 'Model',
'Behavior' => 'Model/Behavior',
'Datasource' => 'Model/Datasource',
'Dbo' => 'Model/Datasource/Database',
'View' => 'View',
'Helper' => 'View/Helper',
'Shell' => 'Console/Command',
'Task' => 'Console/Command/Task',
'Case' => 'Test/Case',
'Fixture' => 'Test/Fixture',
'Error' => 'Lib/Error',
)
© 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-UpgradeShell.html