PHP как кросс-платформенный скриптовый язык

в 12:50, , рубрики: php, php вне вебсервера, скрипты

php as a script

Большинство пользователей PHP привыкли видеть сие чудо лишь на серверах и использовали лишь для динамической генерации веб-страниц (или других целей, подразумевающий работу в составе web-сервера). Однако, php можно использовать отдельно в качестве скриптового языка а-ля питон. Подробности под катом…

Получение интерпретатора

Для того, чтобы запустить php-скрипт нужно получить интерпретатор. Линуксоиды могут просто собрать ядро php из исходников,
или поставить пакет (а-ля sudo apt-get install php5)
У любителей Windows вариантов больше: если Вас более привлекает php5, то можно взять сборку, выдранную из сборки веб-сервера Apache «Денвер». (на самом сайте Денвера можно взять модули). Тем, кому более интересен php4, можно использовать bambalam php compiller, который прекрасно преобразует ваш скрипт в самй настоящий .exe.

Запуск

Для того, чтобы запустить скрипт необходимо вызвать бинарник с параметрами -f имя_файла_скрипта, например php -f main.php
Так-же можно использовать запуск прямо в консоли php -r "echo '123';"

Модули

Товарищи Линуксоиды могут включить необходимые модули при сборке, или установить через менеджер пакетов sudo apt-get install php5-curl.
Любители-же Windows получают модули в виде .dll файлов, подгружать которые можно используя аргумент коммандной строки, позволяющий задавать настройки php.ini:
php.exe -d "Extension=php_curl.dll" -f main.php

Особенности использования

Для того, чтобы получить строчку от пользователя, можно использовать такой код:

$in = trim(fgets(STDIN));

Так-же скрипту можно передавать параметры коммандной строки:

exec("php -f main.php -- -firstvar"); // аргументы передаваемые скрипту нужно отделять от комманд, передаваемых интерпретатору двойным тире
print_r($argv ); // список аргументов
echo $argc; // количество аргументов

Любителям windows так-же пожалуй будет необходима функция перекодировки из системной кодировки cp1251 в cp866, использующуюся в консоли.

function eecho($text){
echo iconv("CP1251","CP866",$text);
}

GUI

Так-же существует несколько инструментов для создания GUI. Проблема в том, что ни одно из них мне не удалось собрать под Linux.
Вот несколько: PHP-GTK, PHP-QT.
Зато на сайте php-gtk можно скачать бинарники для Windows.

Заключение

Php можно использовать в качестве довольно неплохого скриптового языка, особенно для написания скриптов связанных с основной его направленностью — базы данных и работы с сетью (например, боты для игр, автоматизаторы для сайтов, и т.д.). Однако редкость использования php для подобных целей рождает главную проблему: расширения, позволяющие работать с системой, как например в Python-e почти-что отсутствуют.

PS.
Под windows существует проэкт php devel studio, целью которого является расширение php, проэкт включает графический редактор форм, и библиотеки для работы с системой + сборка в .exe

Автор: Kop3t3

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js