Giter Site home page Giter Site logo

dudzio12 / packagegenerator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wsdltophp/packagegenerator

0.0 2.0 0.0 5.96 MB

Generates a PHP SDK based on a WSDL, simple and powerful, WSDL to PHP

Home Page: https://providr.io

License: MIT License

Dockerfile 0.01% PHP 99.99%

packagegenerator's Introduction

Package Generator

Package Generator generates a PHP SDK from any WSDL.

License Latest Stable Version Build Status Scrutinizer Code Quality Code Coverage Total Downloads StyleCI SensioLabsInsight

Package Generator generates a PHP SDK from any WSDL so you can easily consume any SOAP Web Service without wondering how SOAP is used under the hood.

Package Generator provides many options to generate your package even if a few are required. This project has been tested with many WSDL and is currently used on the platform Providr.IO.

Installation

In a project:

composer require wsdltophp/packagegenerator

With command line:

For PHP5
$ wget https://phar.wsdltophp.com/wsdltophp-php5.phar
$ chmod +x wsdltophp-php5.phar
$ mv wsdltophp-php5.phar /usr/local/bin/wsdltophp
For PHP7
$ wget https://phar.wsdltophp.com/wsdltophp-php7.phar
$ chmod +x wsdltophp-php7.phar
$ mv wsdltophp-php7.phar /usr/local/bin/wsdltophp

Usage

There is two ways to generate your package (apart from being in a project and generating it through the command line):

  • standalone (default behaviour): this means the package is generated as an independent project with its own composer.json file. At the end of the generation, the root directory where the package has been generated will contain the composer.json, the composer.lock file and the vendor directory.
  • not standalone: this means the package is generated as part of an existing project using its own composer.json file.

The standalone option is fully detailed in the Standalone section.

All the options are fully detailed in the Options page.

In a project:

// 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 instanciation
$generator = new Generator($options);
// Package generation
$generator->generatePackage();

With command line:

The command line is:

$ wsdltophp generate:package \
    --urlorpath="http://developer.ebay.com/webservices/latest/ebaySvc.wsdl" \
    --destination="./MySdk" \
    --composer-name="myproject/mysdk" \
    --force

In order to see all the used options, just remove the --force argument.

Versions

3.0

First released on 04 May 2018, maintained until version 5.0 is released. Please read the UPGRADE-3.0 note in order to acknowledge the main changes.

2.0

First released on 29 Apr 2016, maintained until version 4.0 is released.

1.0

Not maintained anymore

Testing

# launch all tests
$ phpunit

# launch a testsuite: command, configuration, utils, wsdlhandler, model, container, parser, file, packagegenerator
$ phpunit --testsuite=model

Testing using Docker

Thanks to the Docker image of phpfarm, tests can be run locally under any PHP version using the cli:

  • php-5.4
  • php-5.5
  • php-5.6
  • php-7.0
  • php-7.1
  • php-7.2
  • php-7.3

First of all, you need to create your container which you can do using docker-compose by running the below command line from the root directory of the project:

$ docker-compose up -d --build

You then have a container named package_generator in which you can run composer commands and php cli commands such as:

# 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.2 /usr/bin/composer update
# run tests in container
$ docker exec -it package_generator php-7.2 -dmemory_limit=-1 vendor/bin/phpunit

Contributing

Please see CONTRIBUTING for details. In addition, code documentation is at doc.wsdltophp.com.

Credits

Developers who helped on this project are listed in the composer.json file as Contributor and are:

FAQ

If you have any question, please read the Options page about the available options to generate the package.

There is also a FAQ that contains miscellaneous questions about the package generation and its usage.

Then if you still have a question, feel free to create an issue.

License

The MIT License (MIT). Please see License File for more information.

packagegenerator's People

Contributors

mikaelcom avatar mcatirau-avantajprim avatar gemorroj avatar localheinz avatar derrabus avatar phordijk avatar scrutinizer-auto-fixer avatar phryneas avatar phobetor avatar faithfulman18 avatar dudzio12 avatar waldo2188 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.