2017 © Pedro Peláez
 

library blueprint-sdk-maker

Create SDK client from API Blueprint

image

vitormattos/blueprint-sdk-maker

Create SDK client from API Blueprint

  • Sunday, April 22, 2018
  • by vitormattos
  • Repository
  • 1 Watchers
  • 8 Stars
  • 1 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

Build Status Coverage Status PHPStan Latest Stable Version Minimum PHP Version License, (*1)

API Blueprint Parser

API Blueprint is a powerful high-level API description language for web APIs., (*2)

Through that's project it's possible parse .apib files, get all their properties and generate all files needed to push a new SDK., (*3)

How do I get started?

NOTE: Blueprint SDK Maker depends on the Drafter library. Please see that repo for build instructions., (*4)

To generate standalone phar file, set the following in your php.ini:, (*5)

; http://php.net/phar.readonly
phar.readonly = Off

If you don't need generate phar, run Blueprint SDK Maker using the option --no-phar., (*6)

Download the latest phar here., (*7)

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., (*8)

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., (*9)

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, (*10)

<?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., (*11)

{
    "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,, (*12)

License

Licensed under the MIT License., (*13)

The Versions