REPL/интерактивная оболочка с правильной поддержкой PHP 5.3?

Я уже некоторое время использую phpsh , и в прошлом он отлично работал. Но его поддержка пространства имен все еще не очень хороша, и это может быть довольно неприятно.

Такие вещи, как \Somespace\Someclass::someStaticFunction(), не работают без отключения проверки существования метода, что приводит к частым фатальным ошибкам при опечатках, которые перезагружают вашу среду.

Существует несколько PHP REPL, в том числе PHP, собранный -в оболочке (php -a)., который ужасен в использовании.

Кто-нибудь знает альтернативу или, возможно, ответвление phpsh -с правильной поддержкой пространства имен? Или, возможно, простое исправление конфигурации, которое я упустил...


пример:

Этот тестовый файл:

производит этот вывод в phpsh (, как и ожидалось)

php> include '/path/test.php';
Something
php>

Но повторная попытка того же вызова не работает:

php> \testing\echoSome();
Not executing input: Possible call to undefined function echoSome()
See /etc/phpsh/config.sample to disable UndefinedFunctionCheck.

без пространств имен функция по-прежнему доступна:

в phpsh:

php> include '/path/test.php';
Something

и вызов все еще работает:

php> echoSome();
Something

10
задан Nanne 13 July 2012 в 11:46
поделиться