包產生器從任何 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)。請參閱許可證文件以獲取更多資訊。