It provides you the api for the document using the attributes.
<?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"
]
]
]
composer test
You can install the package via composer:
composer require ahmetbarut/laravel-attributes-documentor
use AhmetBarut\Documentor\FindAttributeDescription;
$documentor = new FindAttributeDescription([
...paths
]);
$documentor->find();
$documentor
// only class
->getClassAttributeDescription()
// only methods
->getMethodsDescription()
// only properties
->getPropertiesDescription()
// filter null values
->filter()
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);
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