2013-03-14 2 views
19

Что лучше PHP SOAP или NuSOAP? Пожалуйста, помогите мне?Что лучше PHP SOAP или NuSOAP?

+0

Можете ли вы предоставить дополнительную информацию? PHP SOAP доступен с PHP 5.0.1. Если вы находитесь в PHP4, вам нужно использовать NuSOAP. – Raptor

+0

Нет. Я использую PHP 5.0.1. –

+0

Если вы собираетесь использовать службы WCF, определенно используйте PHP SOAP, иначе вы можете столкнуться с множеством подводных камней. Вероятно, они исправит это позже, но на данный момент это головная боль (проблемы с коллекциями по умолчанию в запросе, проблемы со сложными типами, объявленные в разных пространствах имен, заставляющие массивы одиночных элементов преобразовываться в объекты) – Uriil

ответ

24

PHP SOAP доступен с PHP 5.0.1. Если вы находитесь в PHP4, вы должны использовать NuSOAP.

Коренные PHP-коды обычно лучше в производительности & относительно без ошибок, поэтому, если PHP SOAP доступен, используйте его. Более того, у NuSOAP не так много документов на официальном сайте.

+5

- это, на мой взгляд, пример очень хорошей пары вопросов и ответов потенциально быть хотя и слишком «основным»). На самом деле, мы все знаем ответ здесь, и мы это знали, прежде чем решили это сделать. Но это обнадеживает, что теперь мы знаем, что нет какой-то удивительно особенной функции библиотеки, которую мы пропускаем. Даже если мы, возможно, проверили это раньше. – lol

+0

Кто-то пробовал новейший NuSOAP? https://sourceforge.net/projects/nusoapforphp53/ (веб-страница говорит: «Версия на http://sourceforge.net/projects/nusoap/ теперь обновлена».) –

12

Хотя есть некоторые нюансы говоря, я думаю, NuSOAP лучше:

  1. NuSOAP имеет некоторые предопределенные методы, которые в случае использования мыла вы должны написать некоторые из ваших собственных.
  2. поскольку узкое место производительности SOAP - это время отклика сервера, нет опасений использовать предопределенный класс Like Nusoap.
  3. Обработка UTF-8 в Nusoap намного проще.
  4. Nusoap предлагает несколько полезных функций для создания SOAP-сервера.
+0

, вы имеете в виду, что PHP SOAP не поддерживает UTF-8? – Raptor

+4

Нет. Это точно. Но я много лет пробовал эту проблему в php SOAP, а в NUSOAP - переменную конфигурации! Для меня это похоже на выбор между функциями php mysql или драйвером adodb. Я использую adodb, снова узким местом является не сам класс. Время ответа Mysql больше, чем все ресурсы, которые класс берет с сервера. – HPM

+0

спасибо я понял –

1

Еще одно преимущество использования Nusoap заключается в том, что полученный результат уже находится в массиве. Обычный PHP вы получаете объект, и вам нужно преобразовать его в массив самостоятельно. , и я сделал небольшую скамью. Nusoap на несколько секунд быстрее, чем моя собственная реализация, включая преобразование в массив. NuSOAP = -1370852340,1761 Native PHP = -1370852340,2057

public function objectToArray($obj) 
{ 
    if(!is_array($obj) && !is_object($obj)) 
    return $obj; 

    if(is_object($obj)) 
    $obj = get_object_vars($obj); 

    return array_map(array($this, 'objectToArray'), $obj); 
} 
4

Использование NuSOAP, нет необходимости писать файл WSDL

+0

Вы можете воспользоваться использованием php- WSDL-творец. https://code.google.com/p/php-wsdl-creator/ –

2

NuSOAP больше не поддерживается. Он поддерживается до версии 4.X PHP. Более новые версии могут начать давать проблемы