問題タブ [php-parser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
200 参照

php - PHP: 古いバージョンで 'yield' を使用して php ファイルを解析する方法

古いクラスをオンラインで置き換えるクラスを構築しています。PHP 5.3 の古いプロジェクトがあります。新しい php 5.6 および 7.0 プロジェクト。開発者は新しいバージョンで「yield」などの新機能を使用したいと考えていますが、そのクラスは古いプロジェクトにも含まれている可能性があります。当然のことながら、古いプロジェクトではコードを yield で実行することはできませんが、ファイルを解析することさえできません。では、2 つの異なるファイルを作成する必要がありますか?

私はこれを使いたい:

利回り $key => $value;

ps '$key' がない場合は、次のように簡単に記述できます。

利回り ($値);

これは、ver 5.3 で解析できます。

どうもありがとうございました。

0 投票する
3 に答える
197 参照

php - 保護された属性を除く 2 つのノードを比較するにはどうすればよいですか? (PHPパーサー)

プロジェクトでPHP-Parserを使用しています。PHPUnitassertEquals関数を使用して、2 つのノードを比較したいと思います。

ノードは同じですが、偽の結果が得られます。その理由は、ノードの 1 つに 2 つの保護された属性が含まれており、もう 1 つのノードには含まれていないためです。

保護された属性を除いたノードを比較することはできますか?


サンプルデータ

最初のオブジェクト:

2 番目のオブジェクト:

PhpParser\Node\Scalar\String_のオブジェクトに注意してください["value"]=> string(3) "FOO"