ugrás a tartalomhoz

Interaktív PHP shell kialakítása

Hojtsy Gábor · 2005. Május. 31. (K), 22.18
Számos olyan nyelv illetve környezet létezik, melyeknek jellemző felhasználása a shellben történő futtatás, amikor az értelmező folyamatosan generálja a kiadott parancsokra adott válaszokat. Gondolhatunk például a MySQL standard kliensére, melyet a parancssorból indíthatunk el, de matematikával foglalkozók számára a Matlab is jó példa lehet erre. Nos, a PHP-t tekintve sincs ilyen lehetőségben hiány, bár a beépített funkciók az aktuális kiadásokban még nem kielégítőek.

Ahogy a parancssori (CLI) PHP felhasználásról szóló dokumentációs oldal is mutatja, az interaktív módot igen szűkszavúan dokumentálták, és a felhasználói megjegyzésekből is kiderül, hogy nem igazán kényelmes a használata.

A ThinkPHP fejlesztői blogjában azonban éppen tegnap látott napvilágot az a hír, miszerint a PHP 5.1-es CLI felületéhez használhatóbb interaktív konzolt fejlesztettek ki. A readline vagy libedit kiterjesztés befordításával használhatóvá tehető felület a php -a parancs segítségével indítható. Az interaktív konzol képes tabbal kezdeményezett kiegészítések teljesítésére, az aktuális változónév, függvénynév, stb. készlet alapján.

Könnyen lehet, hogy olvasóink túlnyomó része nem a PHP 5.1 aktuális snapshotajaival éli napjait, és mégis kipróbálna egy ilyen interaktív felületet, hiszen sokat segíthet egyszerű kódok kipróbálásában. Nincs semmi gond, hiszen David Phillips már elkészítette a phpa névre hallgató PHP szkriptet, ami éppen a php -a helyettesítőjeként szolgál. A readline kiterjesztést igénylő szkript hasonló a PHP 5.1-eshez tervezett interaktív felülethez, bizonyos értelemben intelligensebb is, a kódkiegészítést támogatja. Egy phpa munkamenet példa:

>>> function cube($n) { return pow($n, 3); }
>>> cube(3)
27
>>> cube(5)
125