Skip to content

ahmetbarut/laravel-attribute-documentor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

laravel documentor

It provides you the api for the document using the attributes.

Example

<?php

namespace Tests;

use AhmetBarut\Documentor\Attributes\Document;

#[Document(description: 'TestClass')]
class TestClass
{
    #[Document(description: 'testProperty')]
    public $testProperty;

    #[Document(description: "testMethod")]
    public function testMethod()
    {
        return;
    }
}
[
    "class" => array:1 [
      0 => "TestClass"
    ]
    "methods" => array:1 [
      "testMethod" => array:1 [
        0 => "testMethod"
      ]
    ]
    "properties" => array:1 [
      "testProperty" => array:1 [
        0 => "testProperty"
      ]
    ]
]

Test

composer test

Installation

You can install the package via composer:

composer require ahmetbarut/laravel-attributes-documentor

Usage

use AhmetBarut\Documentor\FindAttributeDescription;

$documentor = new FindAttributeDescription([
  ...paths
]);

$documentor->find();

$documentor
// only class
->getClassAttributeDescription()

// only methods
->getMethodsDescription()

// only properties
->getPropertiesDescription()
// filter null values
->filter()

Write To Markdown

use AhmetBarut\Documentor\FindAttributeDescription;
use AhmetBarut\Documentor\Templates\Markdown;

$documentor = new FindAttributeDescription([
  ...paths
]);

$documentor->find();

$data = $documentor->getClassAttributeDescription()->getMethodsDescription()->getPropertiesDescription()->filter();

$markdown = new Markdown();

// default path is docs
$markdown->write($data);

Usage Command

By default the command will search for base_path('docs') directory and put the filename as docs.md.

To change the directory; You can change the directory like --directory=/path/to/dir. To change the file name; --output-file=filename

php artisan documentor:generate

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages