Package Generator génère un SDK PHP à partir de n'importe quel WSDL.
Package Generator génère un SDK PHP à partir de n'importe quel WSDL afin que vous puissiez facilement utiliser n'importe quel service Web SOAP sans vous demander comment SOAP est utilisé sous le capot.
Package Generator offre de nombreuses options pour générer votre package même si quelques-unes sont requises. Ce projet a été testé avec de nombreux WSDL et est actuellement utilisé sur la plateforme Providr.IO.
Package Generator génère des fichiers détaillés dans le MANIFEST. Nous vous encourageons à le lire pour comprendre comment et pourquoi les fichiers sont générés ainsi que la manière dont les classes générées sont censées être utilisées.
composer require wsdltophp/ PackageGenerator --dev
$ wget https://phar.wsdltophp.com/wsdltophp-php7.phar
$ chmod +x wsdltophp-php7.phar
$ mv wsdltophp-php7.phar /usr/local/bin/wsdltophp
$ docker run --rm -it mikaelcom/wsdltophp:tagname
Il existe deux manières de générer votre package (en plus d'être dans un projet et de le générer via la ligne de commande) :
composer.json
. A la fin de la génération, le répertoire racine où le package a été généré contiendra le composer.json
, le fichier composer.lock
et le répertoire vendor
.composer.json
. L'option standalone
est entièrement détaillée dans la section Autonome.
Toutes les options sont entièrement détaillées dans la page Options.
use WsdlToPhp PackageGenerator ConfigurationReader GeneratorOptions ;
use WsdlToPhp PackageGenerator Generator Generator ;
// Options definition: the configuration file parameter is optional
$ options = GeneratorOptions:: instance ( /* '/path/file.yml' */ );
$ options
-> setOrigin ( ' http://developer.ebay.com/webservices/latest/ebaySvc.wsdl ' )
-> setDestination ( ' ./MySdk ' )
-> setComposerName ( ' myproject/mysdk ' );
// Generator instantiation
$ generator = new Generator ( $ options );
// Package generation
$ generator -> generatePackage ();
La ligne de commande est :
$ wsdltophp generate:package
--urlorpath= " http://developer.ebay.com/webservices/latest/ebaySvc.wsdl "
--destination= " ./MySdk "
--composer-name= " myproject/mysdk "
--force
Afin de voir toutes les options utilisées, supprimez simplement l'argument --force
.
Comme avec la ligne de commande ci-dessus, utilisez simplement la ligne de commande docker run
avant :
$ docker run --rm -it --volume $PWD :/var/www mikaelcom/wsdltophp:tagname generate:package
--urlorpath= " http://developer.ebay.com/webservices/latest/ebaySvc.wsdl "
--destination= " /var/www/MySdk "
--composer-name= " myproject/mysdk "
--force
Afin de voir toutes les options utilisées, supprimez simplement l'argument --force
.
Publié pour la première fois le 3 avril 2021, maintenu jusqu'à la sortie de la version 6.0. Veuillez lire la note UPGRADE-4.0 afin de prendre connaissance des principaux changements.
Publié pour la première fois le 4 mai 2018, maintenu jusqu'à la sortie de la version 5.0. Veuillez lire la note UPGRADE-3.0 afin de prendre connaissance des principaux changements.
PLUS MAINTENU : même si la version 5 n'est pas publiée ni n'est attendue prochainement, maintenir 2 versions, surtout pour une ancienne version de PHP, prend du temps, désolé pour les personnes qui l'utiliseraient encore qui rencontreraient des problèmes résolus dans la dernière version .
Non entretenu depuis le 03 avril 2021.
Publié pour la première fois le 29 avril 2016, maintenu jusqu'à la sortie de la version 4.0.
Plus entretenu
# launch all tests
$ phpunit
# launch a testsuite: command, configuration, utils, model, container, parser, file, PackageGenerator
$ phpunit --testsuite=model
Grâce à l'image Docker de phpfarm, les tests peuvent être exécutés localement sous n'importe quelle version de PHP en utilisant le cli :
Tout d'abord, vous devez créer votre conteneur, ce que vous pouvez faire à l'aide de docker-compose en exécutant la ligne de commande ci-dessous à partir du répertoire racine du projet :
$ docker-compose up -d --build
Vous disposez alors d'un conteneur nommé package_generator
dans lequel vous pouvez exécuter des commandes composer
et des commandes php cli
telles que :
# install deps in container (using update ensure it does use the composer.lock file if there is any)
$ docker exec -it package_generator php-7.4 /usr/bin/composer update
# run tests in container
$ docker exec -it package_generator php-7.4 -dmemory_limit=-1 vendor/bin/phpunit
Veuillez consulter CONTRIBUER pour plus de détails. De plus, la documentation du code se trouve sur doc.wsdltophp.com.
Les développeurs qui ont contribué à ce projet sont répertoriés dans le fichier composer.json en tant que Contributor
et sont :
Si vous avez des questions, veuillez lire la page Options sur les options disponibles pour générer le package.
Il existe également une FAQ contenant diverses questions sur la génération du package et son utilisation.
Ensuite, si vous avez encore une question, n'hésitez pas à créer un problème.
La licence MIT (MIT). Veuillez consulter le fichier de licence pour plus d'informations.