Как использовать сопоставление объектов с Flex, Zend, AMFPHP - PullRequest
2 голосов
/ 21 февраля 2012

Файловая структура

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 Возможно, что тип данных может не возвращаться как VOCustomer, иногда он будет показывать Object как тип

enter image description here

Как сделать проходящий объект объектом VOcustomer?

1 Ответ

1 голос
/ 13 апреля 2012

Я не уверен, что мастер 'Connect to PHP' понимает подсказки типов.Даже если это произойдет, Zend AMF передаст метод Objet, а не VOCustomer.Безопаснее добавить комментарий PHPDoc:

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

Второе добавление фиктивной функции к вашему сервису, которая возвращает VOCustomer.Мастер «Connect to PHP» генерирует объект значения только в том случае, если он возвращен методом службы.

/**
 * @return VOCustomer
 */    
public function getCustomer() {
    //Do nothing
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...