2012-02-21 19 views
2

文件結構如何使用對象映射使用Flex,Zend的,AMFPHP

enter image description here

customerService.PHP

include 'vo/VOCustomer.php'; 
include 'mydb.php'; 

class customerService 
{  
    public function createCustomer(VOCustomer $cus) 
    { 
     $db = new mydb(); 
     $db->connect(); 

     $query = sprintf("insert into customer (CusId, CusName, CusContact,idcompany) values ('%s','%s','%s','%s')", 
     mysql_real_escape_string($cus->CusId), 
     mysql_real_escape_string($cus->CusName), 
     mysql_real_escape_string($cus->CusContact), 
     mysql_real_escape_string($cus->idcompany)); 

     $rs = mysql_query($query) or die ("Unable to complete query."); 

     return 'success'; 
    } 
} 

VO/VOCustomer.php

class VOCustomer { 
    public $CusId; 
    public $CusName; 
    public $CusContact; 
    public $idcompany; 
} 

當導入customerService.php到一個flex zend項目它可能的數據類型可能不是r E打開爲VOCustomer有時它會顯示對象類型

enter image description here

如何使傳遞對象VOcustomer對象?

+1

我相信你可以修改生成的AS3服務類,以在AS3端輸入一個類型化的參數。不知道爲什麼它沒有爲你做這件事,如果你允許它生成基於數據庫的PHP和AS3 DTO和服務類(使用內置模板),它會將參數顯示爲一個類型化對象。更新AS3服務對象後,您應該可以刷新該面板以查看反映的更改。 – shaunhusain 2012-02-21 17:52:15

回答

1

我不確定'連接到PHP'嚮導是否理解類型提示。 即使Zend AMF會通過Objet而不是VOCustomer來使用該方法。 它的安全添加PHPDoc的評論:

/** 
* @param VOCustomer $cus 
*/ 
public function createCustomer($cus) 

其次添加虛擬函數爲您服務返回VOCustomer。只有通過服務方法返回值,「連接到PHP」嚮導纔會生成值對象。

/** 
* @return VOCustomer 
*/  
public function getCustomer() { 
    //Do nothing 
}