2016-04-15 60 views
1

背景如何在phing屬性中收集自定義phing任務的輸出?

我開始與這個開放式問題https://stackoverflow.com/questions/36602830/list-differences-between-two-directories-from-point-of-view-of-one-directory-by

然後嘗試這種使用phing的本地工具來解決這個問題,但卡住了 - How to return a value from a phing target?

現在我想寫自定義Phing任務,按https://www.phing.info/docs/guide/trunk/ch06s06.html。我試圖呼應這個文件的列表,以打算以某種方式收集相同的屬性時,該任務從構建XML稱爲 -

<addedfiles message="Hello World" outputProperty="output"/> 

但是我發現一個outputProperty屬性不支持從構建xml文件調用。

任何關於如何做到這一點或指向其他兩個問題的指針都會有很大幫助。

+0

對於那些試圖使用自定義phing任務(例如函數(可重用實用程序))的筆記,輸出變量的名稱需要在對phing屬性的多個調用中有所不同。我在調用屬性時將輸出變量的名稱作爲參數傳遞,並使用相同的名稱來設置輸出屬性的名稱。 –

回答

0

哦,這很簡單。我們可以像這樣的自定義任務類中設置屬性 -

$this->getProject()->setNewProperty('output', "hello world"); 

,它可以在生成XML訪問,任務調用之後,這樣的 -

<addedfiles message="Hello World" /> 
<echo>See ${output}</echo> 
0

您可以提高您的解決方案這樣

private $outputProperty; 

public function setOutputProperty($str) 
{ 
    $this->outputProperty = $str; 
} 

,然後,當你發現輸出

$this->getProject()->setNewProperty($this->outputProperty, "hello world");