如何使用Flex,Zend,AMFPHP进行对象映射

时间:2012-02-21 16:17:55

标签: flex zend-framework

文件结构

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项目时可能无法返回数据类型,因为有时它会将对象显示为

enter image description here

如何将传递对象作为VOcustomer对象?

1 个答案:

答案 0 :(得分:1)

我不确定'Connect to PHP'向导是否理解类型提示。 即使它确实是Zend AMF也会将Objet而非VOCustomer传递给该方法。 添加PHPDoc注释更安全:

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

第二次向您的服务添加虚拟函数,返回VOCustomer。 “连接到PHP”向导只有在服务方法返回时才会生成值对象。

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