2017 © Pedro Peláez
 

library sleekdoc

This generates a documentation based on class doc-block which able to handle XML and REST api's

image

sleekdoc/sleekdoc

This generates a documentation based on class doc-block which able to handle XML and REST api's

  • Friday, May 20, 2016
  • by daison12006013
  • Repository
  • 1 Watchers
  • 0 Stars
  • 4 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Sleek Doc Generator

Required Annotations

In your class, you are required to add annotations such as, (*1)

@sleekdoc_init to tell generator to initialize the class provided. The @sleekdoc_namespace to have a unified documentation. The @sleekdoc_category to separate class functions., (*2)

Web Server

Create an index.php file to your public folder and copy this., (*3)

<?php

$root = dirname(__DIR__);

require $root.'/autoload.php';

$generator = new Daison\SleekDoc\Generator([
    'MyClass\Should\Be\Here' => [
        'functionHere',
        'anotherFunctionHere',
    ],
]);

$generator->addData('title', 'This is my title');
$generator->addData('default_base_uri', [
    'json' => 'http://json-api.app',
    'xml'  => 'http://xml-api.app',
]);

$blade = $generator->make(
            $root.'/resources/views',
            $root.'/storage/cache'
         );

echo $blade->render();

The code above should show you the entire generated documentations., (*4)

Now to finish it up, you should point your web server to use that index.php instead., (*5)

Themes and Blade Engine

We're using blade template engine (A Laravel template engine) to be our relying View., (*6)

Basing it in our configuration, we configured the views directory inside $root.'/resources/views', (*7)

So in your blade template, you could access a variable $data, containing this kind of array value, (*8)

array(3) {
  ["title"]=>
  string(10) "Sample API"
  ["default_base_uri"]=>
  array(2) {
    ["json"]=>
    string(23) "http://json-api.app"
    ["xml"]=>
    string(23) "http://xml-api.app"
  }
  ["api"]=>
  array(2) {
    ["JSON"]=>
    array(1) {
      ["/booking"]=>
      array(5) {
        ["sleekdoc_init"]=>
        bool(true)
        ["sleekdoc_category"]=>
        string(4) "JSON"
        ["sleekdoc_namespace"]=>
        string(8) "/booking"
        ["description"]=>
        string(85) "This handles the entire booking process, from creation until
the cancellation process"
        ["functions"]=>
        array(3) {
          [0]=>
          array(8) {
            ["sleekdoc_init"]=>
            bool(true)
            ["method"]=>
            string(3) "GET"
            ["route"]=>
            string(8) "/booking"
            ["description"]=>
            string(42) "This is the description of /booking prefix"
            ["headers"]=>
            object(stdClass)#8 (1) {
              ["authorization"]=>
              object(stdClass)#9 (2) {
                ["label"]=>
                ...
          }
        }
       }
    }
   }
   ["XML"]=>
    array(1) {
      ["Booking"]=>
      array(5) {
        ["sleekdoc_init"]=>
        bool(true)
        ["sleekdoc_category"]=>
        string(3) "XML"
        ["sleekdoc_namespace"]=>
        string(7) "Booking"
        ["description"]=>
        string(16) "Description Here"
        ["functions"]=>
        array(1) {
          [0]=>
          array(4) {
            ["sleekdoc_init"]=>
            bool(true)
            ["name"]=>
            string(7) "Details"
            ["description"]=>
            string(12) "This is shit"
            ["raw_xml"]=>
            string(498) "..."
          }
        }
      }
    }
  }
}

For realtime value, after $generator->make(...) try to die-and-dump the data dd($generator->getData()), (*9)

Samples

  • default sample [https://github.com/sleekdoc/sample]

The Versions

20/05 2016

dev-master

9999999-dev

This generates a documentation based on class doc-block which able to handle XML and REST api's

  Sources   Download

The Requires

 

by Daison Carino