Un wrapper simple pour l'API distante ISPConfig3.
Conçu pour interopérer avec ISPConfig 3, il vise à fournir une interface expressive mais simple pour effectuer toutes les actions fournies par l'API.
La bibliothèque agit comme un proxy entre le serveur SOAP ISPConfig 3 et votre application. Toutes les fonctions sont renommées à une syntaxe de camecase plus expressive (IMHO). Il ne fait aucune validation, il suffit de proxys chaque demande à l'appel de savon associé. Le seul changement est que chaque réponse est retournée en tant que tableau encodé JSON.
errors .result .$ composer require pemedina/ispconfig-wrapper 1. * Le wrapper peut être inclus et utilisé sur n'importe quelle application PHP.
<?php
$ webService = new ISPConfigWS (
new SoapClient ( NULL ,
array ( ' location ' => ' http://192.168.0.55/remote/index.php ' ,
' uri ' => ' http://192.168.0.55/remote/ ' ,
' exceptions ' => 0 )
)
);
// Login
$ webService
-> with ( array ( ' loginUser ' => ' admin ' , ' loginPass ' => ' password ' ))
-> login ();
$ result = $ webService
-> with ( array ( ' client_id ' => 5 ))
-> getClient ()
-> response ();
print_r json_decode ( $ result ));
// Single call
$ result = $ webService
-> with ( array ( ' loginUser ' => ' admin ' , ' loginPass ' => ' password ' , ' password ' => ' newPass ' , ' client_id ' => 5 ))
-> changeClientPassword ()
-> response ();
print_r json_decode ( $ result )); <?php
$ webService = new ISPConfigWS (
new SoapClient ( NULL ,
array ( ' location ' => ' http://192.168.0.55/remote/index.php ' ,
' uri ' => ' http://192.168.0.55/remote/ ' ,
' exceptions ' => 0 )
)
);
$ loginDetails = array ( ' loginUser ' => ' admin ' , ' loginPass ' => ' password ' );
$ webService -> setParameters ( $ loginDetails );
$ webService -> login ();
. . .
. . .
$ parameters = array ( ' client_id ' => 5 );
$ webService -> setParameters ( $ parameters );
$ webService -> getClient ();
print_r json_decode ( $ webService -> getResponse () ));Vous avez trouvé un bug ou en manquant une fonctionnalité? N'hésitez pas à créer un nouveau problème ici sur GitHub.