Класс ExtractTask
Экстрактор строк языка
- Объект
-
Оболочка -
AppShell -
ExtractTask
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Console/Command/Task/ExtractTask.php
Наследуемые константы
Краткое описание свойств
-
$_excludeprotectedМассив каталогов для исключения.array -
$_extractCoreprotectedУказывает, нужно ли извлекать сообщения CakePHP Lib.boolean -
$_extractValidationprotectedУказывает, нужно ли извлекать сообщения проверки моделей.boolean -
$_fileprotectedОбрабатываемый в данный момент файл.string -
$_filesprotectedФайлы для извлечения.array -
$_mergeprotectedОбъединить все доменные и категорийные строки в файл default.pot.boolean -
$_outputprotectedПуть назначения.string -
$_pathsprotectedПути для поиска строк.string -
$_storageprotectedСодержит все данные, ожидающие записи.string -
$_tokensprotectedИзвлеченные токены.array -
$_translationsprotectedИзвлеченные строки, индексированные по категории, домену, msgid и контексту.array -
$_validationDomainprotectedДомен строк проверки, используемый при извлечении сообщений проверки.boolean
Наследуемые свойства
-
OptionParser,Tasks,_helpers,_lastWritten,_taskMap,args,command,interactive,modelClass,name,params,plugin,stderr,stdin,stdout,taskNames,tasks,uses
Краткое описание методов
- _addTranslation() protectedДобавить перевод во внутреннее свойство переводов.
- _buildFiles() protectedСоздать содержимое шаблона файла перевода из полученных строк.
- _extract() protectedИзвлечь текст.
- _extractPluginValidationMessages() protectedИзвлечь сообщения проверки из моделей приложения или плагина.
- _extractTokens() protectedИзвлечь токены из всех файлов для обработки.
- _extractValidationMessages() protected
Ищет модели в приложении и извлекает сообщения проверки для добавления в карту перевода.
- _formatString() protectedОтформатировать строку для добавления в качестве переводимой строки.
- _getPaths() protectedМетод для взаимодействия с пользователем и получения выбора путей.
- _getStrings() protectedПолучить строки с указанной позиции.
- _isExtractingApp() protected
Возвращает, предназначена ли эта операция для извлечения строк только из каталогов в папке, представленной константой APP, т.е. эта задача извлекает строки из того же приложения.
- _isPathUsable() protectedПроверяет, доступен ли данный путь для записи.
- _markerError() protectedУказать ошибку с неверным маркером в обработанном файле.
- _parse() protectedОбработать токены.
- _processValidationRules() protected
Обработать правило валидации для поля и найти сообщение, которое нужно добавить в карту перевода.
- _searchFiles() protectedПоиск файлов, которые могут содержать переводимые строки.
- _store() protectedПодготовить файл для сохранения.
- _writeFiles() protectedЗаписать файлы, которые нужно сохранить.
- _writeHeader() protectedСоздать заголовок шаблона перевода.
- execute() publicМетод выполнения, всегда используемый для задач.
- getOptionParser() publicПолучить экземпляр парсера опций и настроить его.
Подробное описание методов
_addTranslation()source protected
_addTranslation( string $category , string $domain , string $msgid , array $details array() )
Добавить перевод во внутреннее свойство переводов
Обрабатывает дублирующиеся переводы.
Параметры
- строка
$category - Категория
- строка
$domain - Домен
- строка
$msgid - Строка сообщения
- массив
$detailsопционально массив() - Справочные данные по файлу и строке
_buildFiles()source protected
_buildFiles( )
Создать содержимое шаблона файла перевода из полученных строк
_extractPluginValidationMessages()source protected
_extractPluginValidationMessages( string $plugin null )
Извлечь сообщения проверки из моделей приложения или плагина
Параметры
- строка
$pluginопционально null - Имя плагина или
nullдля обработки моделей приложения
_extractValidationMessages()source protected
_extractValidationMessages( )
Ищет модели в приложении и извлекает сообщения проверки для добавления в карту перевода
_formatString()source protected
_formatString( string $string )
Форматировать строку, которая будет добавлена как переводимая строка
Параметры
- строка
$string - Строка для форматирования
Возвращаемое значение
строкаОтформатированная строка
_getPaths()source protected
_getPaths( )
Метод для взаимодействия с пользователем и получения выборов путей.
_getStrings()source protected
_getStrings( integer $position , integer $target )
Получить строки с указанной позиции
Параметры
- целое число
$position - $position Текущая позиция в массиве токенов
- целое число
$target - Количество строк для извлечения
Возвращаемое значение
массивИзвлеченные строки
_isExtractingApp()source protected
_isExtractingApp( )
Возвращает, предназначено ли это выполнение для извлечения строк только из каталогов в папке, представленной константой APP, то есть этот метод извлекает строки из того же приложения.
Возвращаемое значение
логическое значение_isPathUsable()source protected
_isPathUsable( string $path )
Проверяет, является ли заданный путь доступным для записи.
Параметры
- строка
$path - Путь к папке
Возвращаемое значение
логическое значениеtrue, если путь существует и доступен для записи, иначе false
_markerError()source protected
_markerError( string $file , integer $line , string $marker , integer $count )
Указывает на недопустимый маркер в обработанном файле
Параметры
- строка
$file - Файл, в котором находится недопустимый маркер
- целое число
$line - Номер строки
- строка
$marker - Найденный маркер
- целое число
$count - Счетчик
_parse()source protected
_parse( string $functionName , array $map )
Разбор токенов
Параметры
- строка
$functionName - Имя функции, указывающее на переводимую строку (например: '__')
- массив
$map - Массив, содержащий переменные, которые будут найдены (например: категория, домен, единственное число, множественное число)
_processValidationRules()source protected
_processValidationRules( string $field , array $rules , string $file , string $domain , string $category 'LC_MESSAGES' )
Обработать правило валидации для поля и найти сообщение, которое нужно добавить в карту переводов
Параметры
- строка
$field - Имя поля, которое обрабатывается
- массив
$rules - Набор правил валидации для поля
- строка
$file - Имя файла, в котором было найдено это правило валидации
- строка
$domain - Домен по умолчанию для привязки валидаций
- строка
$categoryнеобязательно 'LC_MESSAGES' - Категория перевода
_searchFiles()source protected
_searchFiles( )
Поиск файлов, которые могут содержать переводимые строки
_store()source protected
_store( string $category , string $domain , string $header , string $sentence )
Подготовить файл для сохранения
Параметры
- строка
$category - Категория
- строка
$domain - Домен
- строка
$header - Содержание заголовка.
- строка
$sentence - Предложение для сохранения.
_writeHeader()source protected
_writeHeader( )
Создать заголовок шаблона перевода
Возвращаемое значение
строкаЗаголовок шаблона перевода
getOptionParser()source public
getOptionParser( )
Получает экземпляр парсера параметров и настраивает его.
Возвращаемое значение
ConsoleOptionParserПереопределяет
Shell::getOptionParser() Методы, унаследованные от Shell
__construct()source 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Объект задачи
__isset()source public
__isset( string $name )
Лениво загружает модели, используя метод loadModel(), если они объявлены в $uses
Параметры
- строка
$name - Имя модели для поиска.
_checkUnitTest()source protected
_checkUnitTest( )
Действие для создания unit-теста
Возвращаемое значение
логическое значениеУспех
_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
Параметры
- 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 - Начальный идентификатор, который должен иметь созданный экземпляр класса модели
Возвращает
смешанное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 )
Выводит одно или несколько сообщений в стандартный вывод. Если не переданы параметры, выводит только символ новой строки.
Уровни вывода
Существует 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::shortPathstartup()source public
startup( )
Запускает оболочку и отображает приветственное сообщение. Позволяет проверять и настраивать перед выполнением команды или основного выполнения.
Переопределите этот метод, если хотите удалить приветственную информацию или изменить поток до выполнения команды.
Ссылка
http://book.cakephp.org/2.0/ru/console-and-shells.html#Shell::startupwrapText()source public
wrapText( string $text , string|integer|array $options array() )
Обёртывание блока текста. Позволяет установить ширину и отступы для блока текста.
Параметры
-
widthШирина обёртывания. По умолчанию 72 -
wordWrapОбёртывать только по границам слов (пробелы). По умолчанию true. -
indentОтступ текста с помощью указанной строки. По умолчанию null.
Параметры
- string
$text - Текст, подлежащий форматированию.
- string|integer|array
$optionsнеобязательно array() - Массив параметров для использования или целое число для ширины обёртывания.
Возвращает
stringОбёрнутый/отступленный текст
См. также
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. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имя свойств для объединения.
- string
$class - Класс для объединения свойства.
- boolean
$normalizeнеобязательно true - Установите в значение true, чтобы запустить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет задать несколько свойств объекта в одной строке кода. Будут установлены только те свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Остановка выполнения текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную оболочку для call_user_func_array
Параметры
- string
$method - Имя вызываемого метода
- array
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
mixedРезультат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы см. CakeLog::write().
Параметры
- string
$msg - Сообщение журнала
- integer
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определено в app/Config/core.php.
- null|string|array
$scopeнеобязательно null Область(и), в которой создаётся сообщение журнала. Дополнительную информацию о областях ведения журналов см. в CakeLog::config().
Возвращает
booleanУспех записи в журнал
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.
Параметры
- string|array
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- array
$extraнеобязательно array() если массив включает ключ "return", он устанавливает AutoRender в значение true. Также может быть использован для отправки данных GET/POST, а также именованных и переданных аргументов.
Возвращает
mixedЛогическое значение true или false при успехе/неудаче или содержимое рендерного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
stringИмя этого класса
Подробности свойств
$_extractCoresource
protected boolean
Содержит значение, определяющее, нужно ли извлекать сообщения CakePHP Lib
false
$_extractValidationsource
protected boolean
Содержит значение, определяющее, нужно ли извлекать сообщения валидации модели
true
$_translationssource
protected array
Извлеченные строки, индексированные по категории, домену, msgid и контексту.
array()
$_validationDomainsource
protected boolean
Содержит домен строки валидации, используемой для сообщений об ошибках валидации при извлечении
'default'
© 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-ExtractTask.html