Класс ExtractTask
Экстрактор строк языка
- Cake\Console\Shell использует Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait
-
Cake\Shell\Task\ExtractTask
Наследуемые константы
Краткое описание свойств
-
$_excludeprotectedМассив каталогов для исключения.array -
$_extractCoreprotectedУказывает, нужно ли извлекать сообщения CakePHP Lib.boolean -
$_fileprotectedОбрабатываемый в данный момент файл.string -
$_filesprotectedФайлы, из которых нужно извлечь информацию.array -
$_mergeprotectedОбъединить все строки домена в файл default.pot.boolean -
$_outputprotectedПуть назначения.string -
$_pathsprotectedПути для поиска строк.array -
$_storageprotectedСодержит все данные, ожидающие записи.array -
$_tokensprotectedИзвлечённые токены.array -
$_translationsprotectedИзвлечённые строки, индексированные по домену.array -
$_validationDomainprotectedДомен строки проверки, используемый для проверки сообщений при извлечении.boolean
Наследуемые свойства
-
OptionParser,Tasks,_io,_taskMap,args,command,interactive,name,params,plugin,taskNames,tasks_tableLocator_modelFactories,_modelType,modelClass
Краткое описание методов
- _addTranslation() protectedДобавление перевода во внутреннее свойство перевода.
- _buildFiles() protectedСоставление содержимого файла шаблона перевода из полученных строк.
- _extract() protectedИзвлечение текста.
- _extractTokens() protectedИзвлечение токенов из всех файлов для обработки.
- _formatString() protectedФорматирование строки для добавления как переводимой строки.
- _getPaths() protectedМетод взаимодействия с пользователем для выбора путей.
- _getStrings() protectedПолучение строк с указанной позиции.
- _isExtractingApp() protected
Возвращает, предназначена ли эта операция для извлечения строк только из каталогов в папке, представленной константой APP, т.е. задача извлекает строки из того же приложения.
- _isPathUsable() protectedПроверяет, доступен ли указанный путь для записи.
- _markerError() protectedУказывает на недопустимый маркер в обработанном файле.
- _parse() protectedРазбор токенов.
- _searchFiles() protectedПоиск файлов, которые могут содержать переводимые строки.
- _store() protectedПодготовка файла для сохранения.
- _welcome() protectedНет приветственного сообщения.
- _writeFiles() protectedЗапись файлов, которые нужно сохранить.
- _writeHeader() protectedСоздание заголовка шаблона перевода.
- getOptionParser() publicПолучение экземпляра парсера параметров и его настройка.
- main() publicМетод выполнения, всегда используемый для задач.
Подробное описание методов
_addTranslation()source protected
_addTranslation( string $domain , string $msgid , array $details [] )
Добавление перевода во внутреннее свойство перевода
Обрабатывает дубликаты переводов
Параметры
- string
$domain - Домен
- string
$msgid - Строка сообщения
- array
$detailsoptional [] - Контекст и форма множественного числа (если есть), ссылки на файл и строку
_buildFiles()source protected
_buildFiles( )
Составление содержимого файла шаблона перевода из полученных строк
_formatString()source protected
_formatString( string $string )
Форматирование строки для добавления как переводимой строки
Параметры
- string
$string - Строка для форматирования
Возвращает
stringОтформатированная строка
_getStrings()source protected
_getStrings( integer $position , integer $target )
Получение строк с указанной позиции
Параметры
- integer
$position - Текущая позиция в массиве токенов
- integer
$target - Количество строк для извлечения
Возвращает
arrayИзвлечённые строки
_isExtractingApp()source protected
_isExtractingApp( )
Возвращает, предназначена ли эта операция для извлечения строк только из каталогов в папке, представленной константой APP, т.е. задача извлекает строки из того же приложения.
Возвращает
boolean_isPathUsable()source protected
_isPathUsable( string $path )
Проверяет, может ли указанный путь использоваться для записи.
Параметры
- string
$path - Путь к папке
Возвращает
booleantrue, если путь существует и доступен для записи, иначе false
_markerError()source protected
_markerError( string $file , integer $line , string $marker , integer $count )
Указывает на недопустимый маркер в обработанном файле
Параметры
- string
$file - Файл, в котором находится недопустимый маркер
- integer
$line - Номер строки
- string
$marker - Найденный маркер
- integer
$count - Счётчик
_parse()source protected
_parse( string $functionName , array $map )
Разбор токенов
Параметры
- string
$functionName - Имя функции, указывающей на переводимый текст (например: '__')
- array
$map - Массив, содержащий переменные, которые она найдёт (например: домен, единственное число, множественное число)
_searchFiles()source protected
_searchFiles( )
Поиск файлов, которые могут содержать переводимые строки
_store()source protected
_store( string $domain , string $header , string $sentence )
Подготовка файла для хранения
Параметры
- string
$domain - Домен
- string
$header - Содержимое заголовка.
- string
$sentence - Предложение для хранения.
_welcome()source protected
_welcome( )
Нет сообщения приветствия.
Переопределяет
Cake\Console\Shell::_welcome() _writeHeader()source protected
_writeHeader( )
Создание заголовка шаблона перевода
Возвращает
stringЗаголовок шаблона перевода
getOptionParser()source public
getOptionParser( )
Возвращает экземпляр обработчика опций и настраивает его.
Возвращает
Cake\Console\ConsoleOptionParserПереопределяет
Cake\Console\Shell::getOptionParser() Методы, унаследованные от Cake\Console\Shell
__construct()source public
__construct( Cake\Console\ConsoleIo $io null )
Создаёт экземпляр этого объекта Shell.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Экземпляр io.
Ссылка
http://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Объект Task
_displayHelp()source protected
_displayHelp( string $command )
Отображение справки в правильном формате
Параметры
- string
$command - Команда, для которой нужно получить справку.
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в stdout.
_setOutputLevel()source protected
_setOutputLevel( )
Устанавливает уровень вывода на основе параметров.
Это переконфигурирует уровень вывода для out() и настроенные протоколирование stdout/stderr.
_stop()source protected
_stop( integer|string $status self::CODE_SUCCESS )
Останавливает выполнение текущего скрипта. Вызывает StopException, чтобы попытаться остановить выполнение.
Параметры
- integer|string
$statusнеобязательно self::CODE_SUCCESS - см. http://php.net/exit для значений
Выбрасывает
Cake\Console\Exception\StopExceptionabort()source public
abort( string $message , integer $exitCode self::CODE_ERROR )
Отображает отформатированное сообщение об ошибке и завершает приложение с кодом состояния 1
Параметры
- string
$message - Сообщение об ошибке
- integer
$exitCodeнеобязательно self::CODE_ERROR - Код завершения для задачи командной оболочки.
Выбрасывает
Cake\Console\Exception\StopExceptionСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputclear()source public
clear( )
Очистить консоль
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#console-outputcreateFile()source public
createFile( string $path , string $contents )
Создаёт файл в указанном пути
Параметры
- string
$path - Куда поместить файл.
- string
$contents - Содержимое файла.
Возвращает
booleanУспешно
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#creating-filesdispatchShell()source public
dispatchShell( )
Передать команду другой оболочке. Похоже на 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 — успех.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#invoking-other-shells-from-your-shellerr()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
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Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#styling-outputhasMethod()source public
hasMethod( string $name )
Проверка наличия вызываемого метода с заданным именем в этом шелле.
Параметры
- string
$name - Имя метода для проверки.
Возвращает
booleanСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshasTask()source public
hasTask( string $task )
Проверка наличия задачи с заданным именем в этом шелле.
Параметры
- string
$task - Имя задачи для проверки.
Возвращает
booleanУспешно
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#shell-taskshelper()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
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::hrin()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Значение по умолчанию или введённые пользователем данные.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::ininfo()source public
info( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Task\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение в тег
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество новых строк для добавления
- integer
$levelнеобязательно Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в stdout.
См. также
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outinitialize()source public
initialize( )
Инициализирует Shell, выступает как конструктор для подклассов, позволяет настроить задачи до выполнения шелла
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::initializeio()source public
io( Cake\Console\ConsoleIo $io null )
Получение/Установка объекта io для данного шелла.
Параметры
-
Cake\Console\ConsoleIo$ioнеобязательно null - Объект ConsoleIo для использования.
Возвращает
Cake\Console\ConsoleIoТекущий объект ConsoleIo.
loadTasks()source public
loadTasks( )
Загружает задачи, определенные в public $tasks
Возвращает
booleannl()source public
nl( integer $multiplier 1 )
Возвращает последовательность одной или нескольких символов новой строки.
Параметры
- integer
$multiplierнеобязательно 1 - Количество повторений последовательности символов новой строки
Возвращает
stringСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::nlout()source public
out( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Task\Shell::NORMAL )
Выводит одно или несколько сообщений в стандартный вывод. Если параметры не переданы, выводит только новую строку.
Уровни вывода
Существует 3 встроенных уровня вывода. Shell::QUIET, Shell::NORMAL, Shell::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве шеллов. Использование Shell::QUIET для сообщения означает, что оно всегда будет отображаться. Использование Shell::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество новых строк для добавления
- integer
$levelнеобязательно Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращённых при записи в stdout.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outparam()source public
param( string $name )
Безопасный доступ к значениям в $this->params.
Параметры
- string
$name - Имя параметра для получения.
Возвращает
string|boolean|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: если используется, предотвратит отображение приветственного сообщения Shell.
Возвращает
целое число|булево|nullСсылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#the-cakephp-consoleshortPath()source public
shortPath( string $file )
Делает абсолютный путь к файлу более читаемым
Параметры
- строка
$file - Абсолютный путь к файлу
Возвращает
строкасокращенный путь
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::shortPathstartup()source public
startup( )
Инициализирует Shell и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основным выполнением
Переопределите этот метод, если хотите удалить приветственную информацию или иным образом изменить поток до выполнения команды.
Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Cake\Console\ConsoleOptionParser::startupsuccess()source public
success( string|array|null $message null , integer $newlines 1 , integer $level Cake\Shell\Task\Shell::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки
- целое число
$levelнеобязательно Cake\Shell\Task\Shell::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|булевоКоличество байтов, возвращенных при записи в стандартный вывод.
См. также
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::outverbose()source public
verbose( string|array $message , integer $newlines 1 )
Вывод на уровне подробности.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки
Возвращает
целое число|булевоКоличество байтов, возвращенных при записи в стандартный вывод.
warn()source public
warn( string|array|null $message null , integer $newlines 1 )
Удобный метод для err(), который оборачивает сообщение тегами
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки
Возвращает
целое число|булевоКоличество байтов, возвращенных при записи в стандартный поток ошибок.
См. также
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::errwrapText()source public
wrapText( string $text , integer|array $options [] )
Обертывание блока текста. Позволяет задать ширину и отступ для блока текста.
Параметры
-
widthШирина обрезки. По умолчанию 72 -
wordWrapОбрезка только по пробелам. По умолчанию true. -
indentОтступ текста с использованием заданной строки. По умолчанию null.
Параметры
- строка
$text - Текст для форматирования.
- целое число|массив
$optionsнеобязательно [] - Массив опций для использования или целое число для обрезки текста.
Возвращает
строкаОбрезанный/отступленный текст
См. также
\Cake\Utility\Text::wrap()Ссылка
http://book.cakephp.org/3.0/ru/console-and-shells.html#Shell::wrapTextМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
tableLocator()source public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Устанавливает локатор таблиц. Если параметры не переданы, возвращает текущий используемый локатор.
Параметры
-
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() для получения дополнительной информации о записи в журналы.
Параметры
- смешанный
$msg - Сообщение для записи в журнал.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
булевоРезультат записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergeProperty()source protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединение одного свойства со значениями, объявленными во всех родительских классах.
Параметры
- строка
$property - Имя объединяемого свойства.
- массив
$parentClasses - Массив классов, которые вы хотите объединить.
- массив
$options - Параметры для объединения свойства, см. _mergeVars()
_mergePropertyData()source protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединение каждого из ключей в свойстве.
Параметры
- массив
$current - Текущее объединённое значение.
- массив
$parent - Значение родительского класса.
- булево
$isAssoc - Указывает, должно ли объединение выполняться в ассоциативном режиме.
Возвращает
смешанныйОбновлённое значение.
_mergeVars()source protected
_mergeVars( array $properties , array $options [] )
Объединить список $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- массив
$properties - Массив свойств и стратегии их объединения.
- массив
$optionsнеобязательно [] - Параметры, используемые при объединении свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClass()source protected
_setModelClass( string $name )
Установить свойства modelClass и modelKey на основе соглашений.
Если свойства уже заданы, они не будут перезаписаны.
Параметры
- строка
$name - Имя класса.
loadModel()source public
loadModel( string|null $modelClass null , string|null $modelType null )
Загружает и создаёт объекты репозитория, необходимые для этого объекта.
Обычно используется для загрузки объектов таблиц ORM по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено MissingModelException.
Параметры
- строка|null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- строка|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию значение modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Выбрасывает
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определён
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределяет существующий вызываемый объект для генерации репозиториев заданного типа.
Параметры
- строка
$type - Имя типа репозитория, для которого предназначена функция-фабрика.
- вызываемый объект
$factory - Функция-фабрика, используемая для создания экземпляров.
modelType()source public
modelType( string|null $modelType null )
Установить или получить тип модели, который будет использоваться этим классом.
Параметры
- строка|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего.
Возвращает
строка|Cake\Datasource\ModelAwareTrait$this
Подробное описание свойств
$_validationDomainsource
protected boolean
Содержит домен валидации, используемый для сообщений валидации при извлечении.
'default'
© 2005–2017 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.3/class-Cake.Shell.Task.ExtractTask.html