|
Навигация
|
Использование скриптов в Windows среде
В Windows существует встроенная поддержка скриптов. Например, пакетные файлы командной строки BAT-файлы выполняются в windows именно как скрипт. То есть, при старте BAT-файла система анализирует (по расширению файла) что ей подсовывают и вызывает соответствующий обработчик. В проекте Madus в качестве скриптового языка используется PHP. Рассмотрим на его примере, как вписать его в систему так, чтобы при запуске PHP-файла автоматически запускался его интерпретатор. Для этого нам понадобится вписать некоторые записи в реестр. Именно там хранятся соответствующие настройки операционной системы. Создадим файл, назовём его PHPScriptInstall.reg, в котором опишем все основные настройки: Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.php] @="PHPFile" [HKEY_CLASSES_ROOT\PHPFile] @="PHP-скрипт" Первая строка нужна, чтобы regedit правильно определил свой файл. Следующие две строки описывают место в реестре, где искать продолжение описания. Смотрите ниже, там все строки находятся в подключе PHPFile. [HKEY_CLASSES_ROOT\PHPFile\DefaultIcon]
@="C:\\Program Files\\PHP\\php.exe, 1" Тут, думаю, понятно, эта запись указывает, какую иконку ассоциировать с PHP-файлом. Кстати, перед тем как всё настраивать, следует установить интерпретатор PHP. Как видно из описываемой строки, в данном примере интерпретатор установлен в папку C:\Program Files\PHP. Слить дистрибутив можно по адресу http://www.php.net/downloads.php. [HKEY_CLASSES_ROOT\PHPFile\Shell]
@="Open" [HKEY_CLASSES_ROOT\PHPFile\Shell\Edit] @="&Изменить" [HKEY_CLASSES_ROOT\PHPFile\Shell\Edit\Command] @="C:\\Program Files\\Editor\\Editor.exe \"%1\"" [HKEY_CLASSES_ROOT\PHPFile\Shell\Open] @="&Открыть" [HKEY_CLASSES_ROOT\PHPFile\Shell\Open\Command] @="\"C:\\Program Files\\PHP\\php.exe\" \"%1\" %*" [HKEY_CLASSES_ROOT\PHPFile\Shell\Open2] @="Открыть в &браузере" [HKEY_CLASSES_ROOT\PHPFile\Shell\Open2\Command] @="cmd /c C:\\Progra~1\\PHP\\php.exe %1 %* >C:\\Temp\\phptemp.html && C:\\Temp\\phptemp.html" [HKEY_CLASSES_ROOT\PHPFile\Shell\Print] @="&Печать" [HKEY_CLASSES_ROOT\PHPFile\Shell\Print\Command] @="C:\\Program Files\\Editor\\Editor.exe /p \"%1\"" Здесь описываются основные команды для оболочки. То есть что делать с файлом с расширением php, и какие команды доступны при вызове контекстного меню. По умолчанию - открыть.Кстати, для того чтобы файл открыть в браузере, используется маленький трюк. Сначала файл отправляется интерпретатору, а выход со стандартного потока перенаправляется в файл во временной папке, в данном примере в папке C:\Temp. И уже потом вызывается просто запуск созданного файла. Подразумевается, что операционная система сама вызовет брауер и передаст сгененрированный файл в качестве параметра. Обратите внимание, что вся команда передаётся интерпретатору командной строки CMD, при этом, есть трудности передачи ему длинных имён файлов, содержащих пробелы. Простое решение - передавать DOS-имена. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\OpenWithList] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\OpenWithList] "a"="cmd.exe" "MRUList"="a" [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\OpenWithProgids] "PHPFile"=hex(0): Эти строки формируют обработчик php-файла. Обратите внимание, минус перед строкой означает, что её надо удалить. Это необходимо сделать, потому что этот параметр может уже существовать в системе, его туда прописывают другие программы. Итак, всё сводится к простым шагам: скачать и установить PHP, подправить файл реестра (прописать где находится интерпретатор и редактор), запустить и выполнить тестовый файлик. Кстати, вот он (test.php): <?php
phpcredits(CREDITS_ALL); ?> Сохраняем файлик, вызываем cmd.exe, в командной строке пишем test.php. Если всё сделано правильно и работает, то в окне появится список разработчиков PHP. На этом считаем установку PHP в качестве скриптового языка законченной. |