私はしばらくの間phpshを使用していましたが、過去にはうまくいっています。しかし、そのネームスペースのサポートはそれほど良くありません。これはかなりイライラすることがあります。REPL /適切なPHP 5.3サポートの対話型シェル?
\Somespace\Someclass::someStaticFunction()
のようなものは、メソッドが存在するかどうかのチェックを無効にしないと機能せず、環境をリセットするタイプミスで頻繁に致命的なエラーが発生します。
PHPの組み込みシェル(php -a
)を含め、複数のPHP REPLがありますが、これは恐ろしいものです。
誰かが、代替の、あるいはおそらく適切な名前空間をサポートするphpshフォークについて知っていますか?それとも私が見落としてきた簡単な設定の修正...
例:
このテストファイル:
<?
namespace testing;
function echoSome(){
echo 'Something';
}
\testing\echoSome();
は(予想通り)phpshでこの出力を生成
php> include '/path/test.php';
Something
php>
同じ電話をもう一度試してもうまくいきません:
phpshで<?
function echoSome(){
echo 'Something';
}
echoSome();
:
php> \testing\echoSome();
Not executing input: Possible call to undefined function echoSome()
See /etc/phpsh/config.sample to disable UndefinedFunctionCheck.
は、名前空間なしで機能がまだ使用可能である
php> include '/path/test.php';
Something
と呼び出しがまだ動作します:選択肢のカップルがあります
php> echoSome();
Something
あなたは、phpshの名前空間サポートに欠けているものを少し詳しく説明できますか? – Doa
私は紛らわしいもののスニペットを追加しますが、おそらく@michielもいくつかを明確にすることができますか? – Nanne
はい、これは私が意味するものの完全な例です。 \ someNameSpace \ someFunction();とは別に、 someNamespace \ SomeClass :: someFunction()も機能しません。 Iircには匿名機能の問題(別の5.3機能)もありますが、私のカフェインを奪われた脳は今覚えていません。 – Marlies