PHPИнтерактивный режим


Просматривая список параметров, выдаваемый командой 'php --help', увидел один, заинтересовавший меня —
-a               Run as interactive shell

Запуск PHP с этим параметром открывает интерактивную консоль, на подобии той, что применяется в Python. В период моего увлечения питоном предлагаемая им консоль мне очень понравилась, и, как оказалось, в PHP она реализована ни чуть не хуже.

После набора 'php -a' появится приветствие 'Interactive shell' и приглашение начать ввод символов. Команды вводятся как всегда за исключением того, что конструкция '<?php' не нужна. Консоль имеет автодополнение и историю ввода. Автодополнение привязано к клавише Tab, если имеется несколько подходящих вариантов, то двойное нажатие Tab выведет их все.

Ниже привожу лог моего общения с PHP-консолью:
shecspi@shecspi-desktop:~$ php -a
Interactive shell

php > echo 'Hello, world!';
Hello, world!
php > $hello = 'Hello, world!';
php > var_dump($hello);
string(13) "Hello, world!"
php > $array = array(
php ( 'id' => 1,
php ( 'title' => 'PHP',
php ( 'version' => '5.2.6'
php ( );
php > print_r($array);
Array
(
    [id] => 1
    [title] => PHP
    [version] => 5.2.6
)
php > $array['path'] = 'usr/bin/php';
php > print_r($array);
Array
(
    [id] => 1
    [title] => PHP
    [version] => 5.2.6
    [path] => usr/bin/php
)
php > function foo()
php > {
php { return time();
php { }
php > $var = 'foo';
php > echo $var();
1247589353
php > quit
shecspi@shecspi-desktop:~$
  • +9
  • Shecspi
  • 14 июля 2009, 20:54

Комментарии (6)

Спасибо, будет полезно при отладке скриптов на сервере.
Хум. Никогда не думал, что php такое умеет. Мне понравилось. +1.
Пришлось, правда, доставить пакетик (у одного меня руки крвивые пакет отсутствовал php5-cli?)
по умолчанию в LAMP пакет php5-cli не входит, поэтому его ставят ручками.
Я сразу же при установке PHP поставил и php-cli.
жаль только, что в пхп не искореннили фатал ерроры с последующей смертью интерпретатора
В период моего увлечения питоном предлагаемая им консоль мне очень понравилась, и, как оказалось, в PHP она реализована ни чуть не хуже.

На самом деле хуже, конечно. А с ipython вообще ни в какое сравнение не идет.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.