Cyrillic Check

Визуально бывает сложно отличить буквы одного языка от другого. Например, в слове "сontract" первая буква - кириллическая "c", а не английская "c". Об этом сложно догадаться из-за того, что все слово на английском языке.

Эта проблема особенно актуальна в программировании: компьютер не понимает опечатки. Если название переменной $сontract записано с ошибкой, в лучшем случае получится ошибка на этапе компиляции.

Интерпретатор PHP позволяет использовать переменные и функции, с именами на национальном языке.
Например:

$фыва = 'олдж';
echo $фыва;

Ошибка в имени переменной $сontract проявится не сразу и ее будет трудно выявить. Возможно код с такой переменной будет работать, но только пока локаль пользователя совпадает с локалью автора кода.

Программа "Cyrillic Check" помогает выявить использование символов кириллицы в коде PHP. При поиске исключаются комментарии и строки в кавычках. Результат представляется в графическом окне в виде списка ошибок.

Установка

Программа не нуждается в инсталляции. Скачайте и распакуйте архив.

Для использования в Windows запустите исполняемый файл "cyrchk.exe". Исполняемый файл включает в себя интерпретатор Tcl/Tk, поэтому размер программы довольно большой. Вы можете установить интерпретатор Tcl/Tk отдельно и использовать для запуска скрипт "cyrchk.tcl".

Для использования в Linux и других Unix-like средах, требуется предварительно установить интерпретатор Tcl/Tk. Для запуска использовать скрипт "cyrchk.tcl".

Кодировка приложения по-умолчанию cp1251.

Использование командной строки

cyrchk ?-option value? ?path?
Где
?-option value?необязательный параметр опции и ее значения;
?path?необязательный параметр пути к файлу или директории для проверки.

Если path - путь к файлу, будет проверен указанный файл.
Если path - путь к директории, будут проверены все файлы PHP, найденные в этой директории, а также во всех поддиректориях.
Количество параметров не имеет значения. Параметры можно комбинировать.
Например:

cyrchk path/to/file1 path/to/file2 path/to/directory1 path/to/directory2
Опции:
-fileследующий аргумент должен быть строго путем к файлу.
-dirследующий аргумент должен быть строго путем к директории.
-filelistследующий аргумент должен быть путем к файлу, содержащему список файлов для проверки. Список содержит по одному пути к файлу на каждой строке.
-dirlistследующий аргумент должен быть путем к файлу, содержащему список директорий для проверки. Список содержит по одному пути к директории на каждой строке.
-filetypeследующий аргумент должен указать выражение в Glob стиле для поиска файлов в директории. По-умолчанию *.{php,phtml}
-patternследующий аргумент должен указать регулярное выражение для поиска символов в коде. По-умолчанию кириллические символы [А-Яа-я]+
-svn-start-commitэтот аргумент используется для интеграции с TortoiseSVN на хуке Start-commit (см. раздел Интеграция с svn). Этот аргумент должен быть последним в списке аргументов. После него ожидаются аргументы PATH, MESSAGEFILE, CWD, добавляемые клиентом svn автоматически.

Допустимо использование нескольких одинаковых опций. Они применяются слева на право и действуют пока не будут переопределены снова.
Например:

cyrchk file1 -pattern "[а-я]+" file2 -pattern "[А-Я]+" file3 -pattern ".*"
Здесь для проверки file1 будет использоваться шаблон (pattern) по-умолчанию.
Для проверки file2 шаблон "[а-я]+" - кириллические буквы в нижнем регистре.
Для проверки file3 шаблон "[А-Я]+" - кириллические буквы в верхнем регистре.
Последний шаблон ".*" (поиск любых символов) не используется при проверке.

Интеграция с svn

Если вы используете при разработке SVN, было бы здорово проверять код на ошибки перед каждым коммитом. Для этого надо:

  1. Открыть в TortoiseSVN раздел Settings (Настройки), перейти к пункту Hook Scripts.
  2. Нажать кнопку "Add..." (Добавить).
  3. В появившемся окне "Configure Hook Scripts" произвести настройку:
    1. "Hook Type" выбрать "Start Commit Hook". Этот хук вызывается перед демонстрацией основного диалога коммита в SVN. Использовать другие типы хуков бессмысленно - они срабатывают слишком поздно.
    2. В поле "Working Copy Path" следует указать путь до вашей рабочей копии.
    3. В поле "Command Line To Execute" следует ввести команду. В данном случае - указать путь до cyrchk.exe. После cyrchk.exe можно указать необходимые опции командной строки. Последней должна быть обязательная для данного хука опция -svn-start-commit. После нее ожидаются аргументы PATH, MESSAGEFILE, CWD, добавляемые клиентом svn автоматически.

Автор: maovrn
Лицензия: GNU LESSER GPL