包生成器从任何 WSDL 生成 PHP SDK。
Package Generator 从任何 WSDL 生成 PHP SDK,因此您可以轻松使用任何 SOAP Web 服务,而无需了解 SOAP 的底层使用方式。
包生成器提供了许多选项来生成包,即使需要一些选项。该项目已经过许多 WSDL 的测试,目前在 Providr.IO 平台上使用。
包生成器生成 MANIFEST 中详细说明的文件。我们鼓励您阅读它以了解如何以及为何生成文件以及生成的类的使用方式。
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
有两种方法可以生成包(除了在项目中并通过命令行生成之外):
composer.json
文件。生成结束时,生成包的根目录将包含composer.json
、 composer.lock
文件和vendor
目录。composer.json
文件作为现有项目的一部分生成的。 standalone
选项在独立部分中有详细介绍。
所有选项均在“选项”页面中详细说明。
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 ();
命令行是:
$ wsdltophp generate:package
--urlorpath= " http://developer.ebay.com/webservices/latest/ebaySvc.wsdl "
--destination= " ./MySdk "
--composer-name= " myproject/mysdk "
--force
为了查看所有使用的选项,只需删除--force
参数即可。
如上面的命令行,只需使用之前的docker run
命令行即可:
$ 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
为了查看所有使用的选项,只需删除--force
参数即可。
首次发布于 2021 年 4 月 3 日,一直维护到 6.0 版本发布。请阅读 UPGRADE-4.0 说明以确认主要更改。
首次发布于 2018 年 5 月 4 日,一直维护到 5.0 版本发布。请阅读 UPGRADE-3.0 说明以确认主要更改。
不再维护:即使版本 5 没有发布,也不会很快发布,维护 2 个版本,尤其是旧的 PHP 版本,非常耗时,对于仍在使用它的人来说很抱歉,因为他们会遇到最新版本中修复的问题。
自 2021 年 4 月 3 日起不再维护。
首次发布于 2016 年 4 月 29 日,一直维护到 4.0 版本发布。
不再维护了
# launch all tests
$ phpunit
# launch a testsuite: command, configuration, utils, model, container, parser, file, PackageGenerator
$ phpunit --testsuite=model
感谢 phpfarm 的 Docker 镜像,可以使用 cli 在任何PHP 版本下本地运行测试:
首先,您需要创建容器,您可以通过从项目的根目录运行以下命令行来使用 docker-compose 来创建容器:
$ docker-compose up -d --build
然后,您将拥有一个名为package_generator
容器,您可以在其中运行composer
命令和php cli
命令,例如:
# 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
详细信息请参阅贡献。此外,代码文档位于 doc.wsdltophp.com。
为该项目提供帮助的开发人员在composer.json 文件中被列为Contributor
,他们是:
如果您有任何疑问,请阅读选项页面,了解生成包的可用选项。
还有一个常见问题解答,其中包含有关包生成及其使用的各种问题。
然后,如果您仍有疑问,请随时创建问题。
麻省理工学院许可证 (MIT)。请参阅许可证文件以获取更多信息。