vitormattos / blueprint-sdk-maker
Create SDK client from API Blueprint
Requires
- php: >=7
- brianseitel/oasis-mson-parser: dev-newest
- symfony/console: ^3.2
Requires (Dev)
- nikic/php-parser: ^3.0
- overtrue/phplint: ^0.2.1
- phpstan/phpstan: ^0.7.0
- phpunit/phpunit: ^6.1
- satooshi/php-coveralls: ^1.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-10-29 04:47:43 UTC
README
API Blueprint Parser
API Blueprint is a powerful high-level API description language for web APIs.
Through that's project it's possible parse .apib
files, get all their properties and generate all files needed to push a new SDK.
How do I get started?
NOTE: Blueprint SDK Maker depends on the Drafter library. Please see that repo for build instructions.
To generate standalone phar file, set the following in your php.ini:
; http://php.net/phar.readonly
phar.readonly = Off
If you don't need generate phar
, run Blueprint SDK Maker using the option --no-phar
.
As a phar (Recommended)
Download the latest phar
here.
You should put it anywhere that facilitates its accessibility (such /usr/local/bin) and chmod should be 755.
You can even rename it to just the box to avoid having to type the .phar
extension every time.
Parsing .apib
files
Run the follow command replacing <filename.apib>
by your .apib
file.
The default output of this command is a directory called build
containing the source of your SDK and a phar (api.phar
) to use your SDK standalone.
blueprint-sdk-maker make <filename.apib>
Example of using generated SDK
From phar file
Create file called test.php
into same directory of api.phar
and run test.php
<?php use BlueprintSdk\Core\Api; require 'api.phar'; $api = new Api(); $return = $api->Entity->getYourEndpoint('ARGUMENT-X'); var_dump($return);
From composer file
Add the content of the follow composer.json
file into composer.json
file of your project replacing <YourGithubAccout>
and <TheProjectName>
for your data and run composer install
.
{ "require" : { "<YourGithubAccout>/<TheProjectName>" : "dev-master" }, "repositories" : [{ "type" : "vcs", "url" : "https://github.com/<YourGithubAccout>/<TheProjectName>" } ] }
Contributing
If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute,
License
Licensed under the MIT License.