O Package Generator gera um PHP SDK a partir de qualquer WSDL.
O Package Generator gera um PHP SDK a partir de qualquer WSDL para que você possa consumir facilmente qualquer serviço da Web SOAP sem se perguntar como o SOAP é usado nos bastidores.
O Package Generator oferece muitas opções para gerar seu pacote, mesmo que algumas sejam necessárias. Este projeto foi testado com vários WSDL e atualmente é usado na plataforma Providr.IO.
O Package Generator gera arquivos detalhados no MANIFEST. Recomendamos que você leia-o para entender como e por que os arquivos são gerados, além da forma como as classes geradas devem ser usadas.
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
Existem duas maneiras de gerar seu pacote (além de estar em um projeto e gerá-lo através da linha de comando):
composer.json
. Ao final da geração, o diretório raiz onde o pacote foi gerado conterá o composer.json
, o arquivo composer.lock
e o diretório vendor
.composer.json
. A opção standalone
é totalmente detalhada na seção Independente.
Todas as opções estão totalmente detalhadas na página Opções.
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 ();
A linha de comando é:
$ wsdltophp generate:package
--urlorpath= " http://developer.ebay.com/webservices/latest/ebaySvc.wsdl "
--destination= " ./MySdk "
--composer-name= " myproject/mysdk "
--force
Para ver todas as opções usadas, basta remover o argumento --force
.
Assim como na linha de comando acima, basta usar a linha de comando docker run
antes:
$ 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
Para ver todas as opções usadas, basta remover o argumento --force
.
Lançado pela primeira vez em 03 de abril de 2021, mantido até o lançamento da versão 6.0. Por favor, leia a nota UPGRADE-4.0 para reconhecer as principais mudanças.
Lançado pela primeira vez em 04 de maio de 2018, mantido até o lançamento da versão 5.0. Por favor, leia a nota UPGRADE-3.0 para reconhecer as principais mudanças.
NÃO MANTIDO MAIS : mesmo que a versão 5 não seja publicada nem seja esperada em breve, manter 2 versões, especialmente para uma versão antiga do PHP, é demorado, desculpe pelas pessoas que ainda a usariam, pois encontrariam problemas corrigidos na versão mais recente .
Não mantido desde 03 de abril de 2021.
Lançado pela primeira vez em 29 de abril de 2016, mantido até o lançamento da versão 4.0.
Não é mais mantido
# launch all tests
$ phpunit
# launch a testsuite: command, configuration, utils, model, container, parser, file, PackageGenerator
$ phpunit --testsuite=model
Graças à imagem Docker do phpfarm, os testes podem ser executados localmente em qualquer versão do PHP usando o cli:
Primeiro de tudo, você precisa criar seu contêiner, o que pode ser feito usando docker-compose executando a linha de comando abaixo no diretório raiz do projeto:
$ docker-compose up -d --build
Você então tem um contêiner chamado package_generator
no qual pode executar comandos composer
e comandos php cli
como:
# 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
Consulte CONTRIBUINDO para obter detalhes. Além disso, a documentação do código está em doc.wsdltophp.com.
Os desenvolvedores que ajudaram neste projeto estão listados no arquivo compositor.json como Contributor
e são:
Se você tiver alguma dúvida, leia a página Opções sobre as opções disponíveis para gerar o pacote.
Há também um FAQ que contém diversas perguntas sobre a geração de pacotes e seu uso.
Então, se você ainda tiver alguma dúvida, fique à vontade para criar um problema.
A licença MIT (MIT). Consulte Arquivo de licença para obter mais informações.