ahmetbarut / laravel-attributes-documentor
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/ahmetbarut/laravel-attributes-documentor
Requires
- illuminate/support: ^8.73.2 || ^9.0.0
- symfony/finder: ^5.4.11 || ^6.0.1
Requires (Dev)
- orchestra/testbench: 6.* || 7.*
- pestphp/pest: ^1.22
This package is auto-updated.
Last update: 2025-10-14 12:55:17 UTC
README
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