За последние 24 часа нас посетили 31950 программистов и 1380 роботов. Сейчас ищут 813 программистов ...

Zend_Soap, возвращать list

Тема в разделе "Прочие вопросы по PHP", создана пользователем shreck, 29 сен 2010.

  1. shreck

    shreck Активный пользователь

    С нами с:
    7 авг 2007
    Сообщения:
    479
    Симпатии:
    0
    Адрес:
    Россия, Саратов
    Приветствую.

    Есть класс InvestService. Вот таким кодом, класс превращается в сервис :)

    PHP:
    1.  
    2. <?php
    3. if(isset($_GET['wsdl'])) {
    4.     $wsdl = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex');
    5.     $wsdl->setClass('InvestService');
    6.     $wsdl->handle();      
    7. } else {
    8.     $server = new Zend_Soap_Server('*****/server.php?wsdl');
    9.     $server->setClass('InvestService');    
    10.     $server->setClassmap($classmap);
    11.     $server->handle();
    12. }
    13. ?>
    14.  
    Если вывести доступные методы сервиса
    PHP:
    1.  
    2. <?php
    3. $client = new Zend_Soap_Client('****/server.php?wsdl');
    4. $client->setClassmap($classmap);
    5. print nl2br(print_r($client->getFunctions(), true));
    6. ?>
    7.  
    то получится примерно следующее:

    HTML:
    1.  
    2. [0] => boolean checkEmail(string $email)
    3. [1] => boolean checkUsername(string $username)
    4. [2] => list(Errors $errors, boolean $result) register(string $username, string $password)
    5. [3] => RatingEntries getRating(integer $investitionPreference, integer $investitionHorizon)
    6. .....
    7.  
    Вопрос: как вернуть тип данных list, представленный в листинге под индексом 2, если известно что тип возвращаемого значения задается в комментариях к методу меткой @return. Т.е если написать в методе класса сервиса

    PHP:
    1.  
    2. <?php
    3. class A
    4. {
    5.     /**
    6.      *  @param integer $string
    7.      *  @return string
    8.      */
    9.     public function foo($string)
    10.     {
    11.          return 'Returns ' . $string;
    12.     }
    13. }
    14. ?>
    15.  
    то A::foo() вернет тип данных string.

    Заранее благодарен всем :!:
     
  2. shreck

    shreck Активный пользователь

    С нами с:
    7 авг 2007
    Сообщения:
    479
    Симпатии:
    0
    Адрес:
    Россия, Саратов
    Подозреваю, что это массив. Но некоторые говорят что нет :(
     
  3. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    в пхп всё array. попробуй. а примера использования нету в описании сервера?

    list(Errors $errors, boolean $result) наверное array(array(Errors $errors, boolean $result), array(Errors $errors, boolean $result), ..., array(Errors $errors, boolean $result))
     
  4. shreck

    shreck Активный пользователь

    С нами с:
    7 авг 2007
    Сообщения:
    479
    Симпатии:
    0
    Адрес:
    Россия, Саратов
    примера нет :( но есть ответ :)
    это обычный массив :)