私はしばらくの間phpshを使用してきましたが、過去にはうまく機能していました。しかし、その名前空間のサポートはまだあまり良くなく、これはかなりイライラする可能性があります。
\Somespace\Someclass::someStaticFunction()
メソッドが存在するかどうかのチェックを無効にしないと機能しないなどの問題が発生し、環境をリセットするタイプミスで致命的なエラーが頻繁に発生します。
PHPの組み込みシェル()を含め、複数のPHP REPLがありますがphp -a
、これは使用するのが恐ろしいものです。
適切な名前空間をサポートする代替またはおそらくphpsh-forkを知っている人はいますか?または、おそらく私が見落としていた簡単な構成修正...
例:
このテストファイル:
<?
namespace testing;
function echoSome(){
echo 'Something';
}
\testing\echoSome();
この出力を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.
名前空間がなくても、関数は引き続き使用できます。
<?
function echoSome(){
echo 'Something';
}
echoSome();
phpshで:
php> include '/path/test.php';
Something
呼び出しは引き続き機能します。
php> echoSome();
Something