Coder Social home page Coder Social logo

blueprint-sdk-maker's Introduction

Build Status Coverage Status PHPStan Latest Stable Version Minimum PHP Version License

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.

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.