2016-03-21 7 views
1

Phingユーザーガイドによれば、PropertyTaskには参照が見つからない場合の「代替プロジェクトスコープ」を指定するfallback属性があります。 Phing PropertyTask - フォールバックプロジェクトスコープとは何ですか?

は、私はこれを実行しようとしたが、それは明らかに間違っている:

<property name="test1" value="ok" /> 
<property name="test2" refid="nonExistentRef" fallback="test1" /> 
<echo>${test2}</echo> 

結果:

Fatal error: Uncaught TypeError: Argument 1 passed to Reference::getReferencedObject() must be an instance of Project, string given, called in [...] classes/phing/tasks/system/PropertyTask.php on line 339 [...]

は、あなたが作業使用例を私に提供することはできますか?

答えて

0

fallbackを期待するプロジェクトインスタンスですが、ビルドファイルから渡すことはできないと思います。

あなたがしようとしました:

<property name="test1" value="ok" /> 
<property name="test2" refid="test1" /> 
<echo>${test2}</echo> 

出力:

[echo] ok 
+0

が可能でした。それはかなり謎です。それが使用されることを意図していない場合、なぜ 'fallback'属性があるのでしょうか?おそらく以前のバージョンの残りの化石? – Kontrollfreak

+0

わかりませんが、行250(setFallbackの定義)とPropertyTaskクラスの339(https://github.com/phingofficial/phing/blob/master/classes/phing/tasks/system/PropertyTask.php#L250)を見てください。 * Project *に文字列をキャストできないことを確認するにはhttps://github.com/phingofficial/phing/blob/master/classes/phing/types/Reference.php#L65をご覧ください。 – corretge

関連する問題