2013-03-14 8 views
19

Quale è meglio PHP SOAP o NuSOAP? Per favore aiutatemi ?Quale è meglio PHP SOAP o NuSOAP?

+0

Puoi fornire maggiori informazioni? PHP SOAP è disponibile da PHP 5.0.1. Se sei in PHP4, devi usare NuSOAP. – Raptor

+0

No Sto usando PHP 5.0.1 –

+0

Se vuoi usare i servizi WCF, usa sicuramente PHP SOAP, altrimenti potresti incontrare molte insidie. Probabilmente lo aggiusteranno più tardi, ma per ora questo è il mal di testa (Problemi con le collezioni predefinite in richiesta, problemi con tipi complessi dichiarati in diversi namespace, costringendo gli array di singoli elementi a convertirsi in oggetti) – Uriil

risposta

24

PHP SOAP disponibile da PHP 5.0.1. Se sei in PHP4, devi usare NuSOAP.

I codici PHP nativi sono in genere migliori nelle prestazioni & relativamente privi di bug, quindi se SOAP PHP è disponibile, utilizzarlo. Inoltre, NuSOAP non ha molta documentazione sul loro sito ufficiale.

+5

questo è un esempio, penso, di una coppia di domande e risposte davvero buona (che potrebbe potenzialmente anche se troppo "di base"). In realtà, tutti conosciamo la risposta qui e lo sapevamo prima di decidere di farlo su Google. Ma è rassicurante che ora sappiamo che non ci sono caratteristiche sorprendentemente speciali della biblioteca che ci stiamo perdendo. Anche se potessimo averlo controllato prima. – lol

+0

Qualcuno ha provato il NuSOAP più recente? https://sourceforge.net/projects/nusoapforphp53/ (la pagina web dice "La versione su http://sourceforge.net/projects/nusoap/ è ora aggiornata.") –

12

Anche se c'è qualche sfumatura parlare, penso che sia meglio NuSOAP:

  1. NuSOAP ha alcuni metodi predefiniti che in caso di utilizzo di sapone si dovrebbe scrivere alcuni dei vostri propri.
  2. perché il collo di bottiglia delle prestazioni SOAP è il tempo di risposta del server, non c'è paura di utilizzare una classe predefinita come Nusoap.
  3. La gestione di UTF-8 è molto più semplice in Nusoap.
  4. Nusoap offre alcune buone funzioni per creare un server SOAP.
+0

intendi che PHP SOAP non supporta UTF-8? – Raptor

+4

No Supporta di sicuro. Ma ho sfidato questo problema per molti giorni in SOAP php, mentre in NUSOAP è una variabile di configurazione! Per me è come scegliere tra funzioni php mysql o driver adodb. Io uso adodb, di nuovo il collo di bottiglia non è la classe stessa. Il tempo di risposta di Mysql è più di tutte le risorse che la classe prende dal server. – HPM

+0

grazie io sono chiaro –

1

Un altro vantaggio dell'utilizzo di Nusoap è che il risultato ottenuto è già presente in un array. Normale PHP ottieni un oggetto e devi convertirlo da solo in un array. e ho fatto un piccolo benchmark Nusoap è micro secondi più veloce della mia implementazione inclusa la conversione in array. NuSOAP = -1370852340,1761 nativo 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

Utilizzando nusoap, non c'è bisogno di scrivere il file WSDL

+0

È possibile trarre vantaggio dall'uso di php- wsdl-creatore. https://code.google.com/p/php-wsdl-creator/ –

2

NuSOAP non è più mantenuto. È supportato fino alla versione 4.X di PHP. Le versioni più recenti possono iniziare a dare problemi