Package Generator สร้าง PHP SDK จาก WSDL ใด ๆ
Package Generator สร้าง PHP SDK จาก WSDL ใดๆ เพื่อให้คุณสามารถใช้ SOAP Web Service ได้อย่างง่ายดายโดยไม่ต้องสงสัยว่า SOAP ถูกนำมาใช้อย่างไร
Package Generator มีตัวเลือกมากมายในการสร้างแพ็คเกจของคุณ แม้ว่าจะจำเป็นต้องใช้เพียงไม่กี่อย่างก็ตาม โปรเจ็กต์นี้ได้รับการทดสอบกับ WSDL จำนวนมาก และปัจจุบันใช้บนแพลตฟอร์ม Providr.IO
Package Generator สร้างไฟล์ที่มีรายละเอียดอยู่ใน 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
ออก
เปิดตัวครั้งแรกเมื่อวันที่ 03 เมษายน 2021 ดูแลรักษาไว้จนกว่าเวอร์ชัน 6.0 จะออก โปรดอ่านหมายเหตุ UPGRADE-4.0 เพื่อรับทราบการเปลี่ยนแปลงหลัก
เปิดตัวครั้งแรกเมื่อวันที่ 04 พฤษภาคม 2018 ดูแลรักษาไว้จนกว่าเวอร์ชัน 5.0 จะออก โปรดอ่านหมายเหตุ UPGRADE-3.0 เพื่อรับทราบการเปลี่ยนแปลงหลัก
ไม่ได้รับการบำรุงรักษาอีกต่อไป : แม้ว่าเวอร์ชัน 5 จะยังไม่เผยแพร่หรือคาดว่าจะมีในเร็วๆ นี้ก็ตาม การดูแลรักษา 2 เวอร์ชัน โดยเฉพาะ PHP เวอร์ชันเก่านั้นใช้เวลานาน ขออภัยสำหรับผู้ที่ยังใช้งานอยู่ซึ่งจะพบปัญหาที่ได้รับการแก้ไขในเวอร์ชันล่าสุด .
ไม่ได้รับการบำรุงรักษาตั้งแต่ 03 เมษายน 2021
เปิดตัวครั้งแรกเมื่อวันที่ 29 เมษายน 2559 คงไว้จนกว่าเวอร์ชัน 4.0 จะออก
ไม่รักษาไว้แล้ว
# launch all tests
$ phpunit
# launch a testsuite: command, configuration, utils, model, container, parser, file, PackageGenerator
$ phpunit --testsuite=model
ต้องขอบคุณอิมเมจ Docker ของ phpfarm ที่ทำให้การทดสอบสามารถทำงานได้ภายในเครื่องภายใต้ PHP เวอร์ชัน ใดก็ได้ โดยใช้ cli:
ก่อนอื่น คุณต้องสร้างคอนเทนเนอร์ของคุณซึ่งคุณสามารถทำได้โดยใช้ 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) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม