diff --git a/.apidocrc.php b/.apidocrc.php new file mode 100644 index 0000000..38d91dd --- /dev/null +++ b/.apidocrc.php @@ -0,0 +1,14 @@ +withProjectName('SpaceOnFire ApiDoc') + ->withSourceDirectories([__DIR__ . '/src']) + ->withOutputDirectory(__DIR__ . '/docs') + ->withBaseNamespace('spaceonfire\ApiDoc'); +}; diff --git a/.editorconfig b/.editorconfig index a57bb27..bc76248 100755 --- a/.editorconfig +++ b/.editorconfig @@ -7,16 +7,9 @@ root = true charset = utf-8 end_of_line = lf indent_size = 4 -indent_style = tab +indent_style = space insert_final_newline = true trim_trailing_whitespace = true -[**.{js,ts,jsx,tsx,less,css,sass,scss,json,yml}] +[**.{js, ts, jsx, tsx, less, css, sass, scss, json, yml, yaml}] indent_size = 2 -indent_style = space - -[**.{md,php}] -indent_style = space - -[bin/**] -indent_style = space diff --git a/.gitattributes b/.gitattributes index f5e8194..0132d8d 100755 --- a/.gitattributes +++ b/.gitattributes @@ -2,11 +2,17 @@ # https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html # Ignore all test and documentation with "export-ignore". +/.github export-ignore +/bin/coverage-badge export-ignore +/docs export-ignore +/tests export-ignore /.editorconfig export-ignore /.gitattributes export-ignore /.gitignore export-ignore -/.github export-ignore -/phpcs.xml.dist export-ignore +/CODE_OF_CONDUCT.md export-ignore +/CONTRIBUTING.md export-ignore +/docker-compose.yml export-ignore +/ecs.php export-ignore +/Makefile export-ignore +/phpstan.neon.dist export-ignore /phpunit.xml.dist export-ignore -/tests export-ignore -/docs export-ignore diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..0cb8945 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +liberapay: hustlahusky +custom: + - https://www.paypal.me/hustlahusky diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md old mode 100644 new mode 100755 index 5b48c57..2691261 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -20,8 +20,8 @@ Not obligatory, but suggest an idea for implementing addition or change. Include as many relevant details about the environment you experienced the bug in and how to reproduce it. -* Version used (e.g. PHP 5.6, HHVM 3): -* Operating system and version (e.g. Ubuntu 16.04, Windows 7): -* Link to your project: -* ... -* ... +- Version used (e.g. PHP 5.6, HHVM 3): +- Operating system and version (e.g. Ubuntu 16.04, Windows 7): +- Link to your project: +- ... +- ... diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..4180625 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,113 @@ +name: Build Pipeline + +on: + push: + branches: + - master + pull_request: + branches: + - master + workflow_dispatch: + +jobs: + composer: + runs-on: ubuntu-latest + container: spaceonfire/nginx-php-fpm:latest-7.2 + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Validate composer.json + run: composer validate + + codestyle: + runs-on: ubuntu-latest + container: spaceonfire/nginx-php-fpm:latest-7.2 + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v2 + env: + COMPOSER_CACHE_KEY: 'composer-7.2' + with: + path: vendor + key: ${{ env.COMPOSER_CACHE_KEY }} + restore-keys: ${{ env.COMPOSER_CACHE_KEY }} + + - name: Install dependencies + if: steps.composer-cache.outputs.cache-hit != 'true' + run: composer install --prefer-dist --no-progress --no-suggest + + - name: Check coding standard + run: vendor/bin/ecs check --no-progress-bar --no-interaction + + phpstan: + runs-on: ubuntu-latest + container: spaceonfire/nginx-php-fpm:latest-7.2 + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v2 + env: + COMPOSER_CACHE_KEY: 'composer-7.2' + with: + path: vendor + key: ${{ env.COMPOSER_CACHE_KEY }} + restore-keys: ${{ env.COMPOSER_CACHE_KEY }} + + - name: Install dependencies + if: steps.composer-cache.outputs.cache-hit != 'true' + run: composer install --prefer-dist --no-progress --no-suggest + + - name: PHPStan + run: vendor/bin/phpstan analyse --no-progress --no-interaction --memory-limit=512M + + phpunit: + runs-on: ubuntu-latest + strategy: + matrix: + php-version: + - '7.2' + - '7.3' + - '7.4' + container: spaceonfire/nginx-php-fpm:latest-${{ matrix.php-version }} + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v2 + env: + COMPOSER_CACHE_KEY: 'composer-${{ matrix.php-version }}' + with: + path: vendor + key: ${{ env.COMPOSER_CACHE_KEY }} + restore-keys: ${{ env.COMPOSER_CACHE_KEY }} + + - name: Install dependencies + if: steps.composer-cache.outputs.cache-hit != 'true' + run: composer install --prefer-dist --no-progress --no-suggest + + - name: PHPUnit + run: | + apk update + docker-php-ext-enable xdebug + vendor/bin/phpunit --no-interaction + cat build/phpunit/coverage.txt + + - name: PHPUnit Artifacts + uses: actions/upload-artifact@v2 + with: + name: phpunit-${{ matrix.php-version }} + path: build/phpunit/ + + - name: Generate coverage badge + if: matrix.php-version == '7.2' && github.event_name == 'push' && github.ref == 'refs/heads/master' + run: php bin/coverage-badge ${{ github.repository }}.json ${{ secrets.COVERAGE_GIST_ID }} ${{ secrets.COVERAGE_GIST_TOKEN }} diff --git a/.gitignore b/.gitignore index 6b3a77b..525ded9 100755 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,3 @@ -# Project folders and files to ignore -build -phpcs.xml -phpunit.xml -vendor - # Numerous always-ignore extensions *.diff *.err @@ -18,11 +12,6 @@ vendor *.lock !**/yarn.lock -# Dotenv -.env -.env.* -!.env.example - # OS or Editor folders .DS_Store ._* @@ -44,3 +33,20 @@ nbproject .directory *.sql *.tar* + +# Dotenv +.env +.env.* +!.env.example + +# Project folders and files to ignore +build/phpunit +build/box/apidoc.phar +vendor +.phpunit.result.cache +phpunit.xml +phpstan.neon +docker-compose.override.yml +box.phar +box.json +!composer.lock diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md old mode 100644 new mode 100755 index 547e0a2..b6ec9f4 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,22 +14,19 @@ orientation. Examples of behavior that contributes to creating a positive environment include: -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting +- The use of sexualized language or imagery and unwelcome sexual attention or advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md old mode 100644 new mode 100755 index 38284bd..9f0cf29 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,29 +4,24 @@ Contributions are **welcome** and will be fully **credited**. We accept contributions via Pull Requests on [Github](https://github.com/spaceonfire/simple-php-apidoc). - ## Pull Requests -- **[PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)** - Check the code style with ``$ composer check-style`` and fix it with ``$ composer fix-style``. - +- **[PSR-12 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-12-extended-coding-style-guide.md)** - + Check the code style with `$ composer codestyle` and fix it with `$ composer codestyle -- --fix`. - **Add tests!** - Your patch won't be accepted if it doesn't have tests. - - **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date. - - **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option. - - **Create feature branches** - Don't ask us to pull from your master branch. - - **One pull request per feature** - If you want to do more than one thing, send multiple pull requests. - -- **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please [squash them](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) before submitting. - +- **Send coherent history** - Make sure each individual commit in your pull request is meaningful. + If you had to make multiple intermediate commits while developing, + please [squash them](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) + before submitting. ## Running Tests -``` bash +```bash $ composer test ``` - **Happy coding**! diff --git a/LICENSE.md b/LICENSE.md old mode 100644 new mode 100755 diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..63229d4 --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +start: + docker-compose up -d + docker-compose exec app su-exec nginx bash + +stop: + docker-compose down diff --git a/README.md b/README.md index 19d2efa..8c81325 100755 --- a/README.md +++ b/README.md @@ -3,24 +3,17 @@ [![Latest Version on Packagist][ico-version]][link-packagist] [![Software License][ico-license]](LICENSE.md) [![Total Downloads][ico-downloads]][link-downloads] +[![Code Coverage][ico-coverage]][link-actions] +[![Build Status][ico-build-status]][link-actions] Simple API documentation generator for your PHP library. -## Structure - -``` -bin/ Package binaries -docs/ API documentation -src/ Source code -tests/ Unit tests -``` - ## Install Via Composer ```bash -$ composer require spaceonfire/simple-php-apidoc +composer require spaceonfire/simple-php-apidoc ``` ## Usage @@ -33,12 +26,6 @@ $ composer require spaceonfire/simple-php-apidoc Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently. -## Testing - -```bash -$ composer test -``` - ## Contributing Please see [CONTRIBUTING](CONTRIBUTING.md) and [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md) for details. @@ -59,8 +46,10 @@ The MIT License (MIT). Please see [License File](LICENSE.md) for more informatio [ico-version]: https://img.shields.io/packagist/v/spaceonfire/simple-php-apidoc.svg?style=flat-square [ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square [ico-downloads]: https://img.shields.io/packagist/dt/spaceonfire/simple-php-apidoc.svg?style=flat-square - +[ico-coverage]: https://img.shields.io/endpoint?style=flat-square&url=https%3A%2F%2Fgist.githubusercontent.com%2Fhustlahusky%2Fd62607c1a2e4707959b0142e0ea876cd%2Fraw%2Fspaceonfire-simple-php-apidoc.json +[ico-build-status]: https://github.com/spaceonfire/simple-php-apidoc/workflows/Build%20Pipeline/badge.svg [link-packagist]: https://packagist.org/packages/spaceonfire/simple-php-apidoc [link-downloads]: https://packagist.org/packages/spaceonfire/simple-php-apidoc [link-author]: https://github.com/hustlahusky [link-contributors]: ../../contributors +[link-actions]: ../../actions diff --git a/bin/apidoc b/bin/apidoc index cb3ccb7..00c3d93 100755 --- a/bin/apidoc +++ b/bin/apidoc @@ -1,41 +1,103 @@ #!/usr/bin/env php seekInDirectory($pharName); +} else { + $autoloadInclude->seekRecursivelyFrom(dirname(__DIR__)); + $autoloadInclude->seekInWorkingDirectory(); +} + +$kernel = new ApiDocKernel(); + +$kernel->configureConsoleApplication( + $app = new Application(), + $input = new ArgvInput(), + $output = new ConsoleOutput() +); -function findProjectRoot($dir = __DIR__) +$exitCode = $app->run($input, $output); + +exit(max(min($exitCode, 255), 0)); + +final class IncludeAutoload { - static $explored = []; - - if (in_array($dir, $explored, true)) { - try { - throw new RuntimeException('Cannot find composer installation'); - } catch (Throwable $throwable) { - echo implode(PHP_EOL, [ - $throwable->getMessage(), - $throwable->getTraceAsString() - ]); - exit(1); - } + private const AUTOLOADER_NAME = '/vendor/autoload.php'; + + private $once; + private $included = []; + + public function __construct(bool $once = true) + { + $this->once = $once; } - $explored[] = $dir; + public function seekInDirectory(string $dir): void + { + if ($this->once && count($this->included) > 0) { + return; + } - if (file_exists($fileName = $dir . '/vendor/autoload.php')) { - return $dir; + if (is_file($filename = $dir . self::AUTOLOADER_NAME)) { + $this->loadIfNotLoadedYet($filename, __METHOD__ . '() on line ' . __LINE__); + } } - return findProjectRoot(dirname($dir)); -} + public function seekInWorkingDirectory(): void + { + $this->seekInDirectory(getcwd()); + } + + public function seekRecursivelyFrom(string $dir): void + { + if ($this->once && count($this->included) > 0) { + return; + } + + static $entered = []; -$root = findProjectRoot(); + if (in_array($dir, $entered, true)) { + throw new \RuntimeException('Cannot find autoloader'); + } + + $entered[] = $dir; -require $root . '/vendor/autoload.php'; + if (is_file($filename = $dir . self::AUTOLOADER_NAME)) { + $this->loadIfNotLoadedYet($filename, __METHOD__ . '() on line ' . __LINE__); + return; + } -$composer = json_decode(file_get_contents($root . '/composer.json'), true); + $this->seekRecursivelyFrom(dirname($dir)); + } -$application = new Application(); -$command = $application->add(new GeneratorCommand($composer)); -$application->setDefaultCommand($command->getName(), true); -$application->run(); + private function loadIfNotLoadedYet(string $file, string $location): void + { + if ($this->isDebugOption()) { + echo sprintf('File "%s" is about to be loaded in "%s"' . PHP_EOL, $file, $location); + } + + $this->included[] = $file; + + require_once $file; + } + + private function isDebugOption(): bool + { + return !empty(array_intersect($_SERVER['argv'], ['-vvv', '--debug'])); + } +} diff --git a/bin/box.sh b/bin/box.sh new file mode 100644 index 0000000..f71b66c --- /dev/null +++ b/bin/box.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +wget https://github.com/box-project/box/releases/download/3.9.1/box.phar + +composer install --no-dev --prefer-dist + +php -d memory_limit=512M box.phar compile --no-parallel diff --git a/bin/coverage-badge b/bin/coverage-badge new file mode 100644 index 0000000..c0f37be --- /dev/null +++ b/bin/coverage-badge @@ -0,0 +1,129 @@ +#!/usr/bin/env php + + */ + +try { + $arguments = $argv; + array_shift($arguments); + + [$filename, $gistId, $gistToken] = $arguments + [null, null, null]; + + if ($filename === null) { + throw new InvalidArgumentException('Badge filename not specified'); + } + if ($gistId === null) { + throw new InvalidArgumentException('Gist id not specified'); + } + if ($gistToken === null) { + throw new InvalidArgumentException('Gist token not specified'); + } + + $filename = str_replace(['/', '_'], '-', $filename); + + $coverageFile = dirname(__DIR__) . '/build/coverage.txt'; + + if (!file_exists($coverageFile)) { + throw new RuntimeException(sprintf('Text coverage report not found at %s', $coverageFile)); + } + + $coverageFileContents = file_get_contents($coverageFile); + + preg_match('/^\s+Lines:\s+(\d+\.\d+)\%/m', $coverageFileContents, $matches); + + if (isset($matches[1]) && is_numeric($matches[1])) { + $coverage = (float)$matches[1]; + + /** @noinspection TypeUnsafeComparisonInspection */ + $message = sprintf( + '%s%%', + (string)$coverage == (int)$coverage + ? (string)(int)$coverage + : number_format($coverage, 1) + ); + + $color = 'red'; + + if ($coverage >= 30) { + $color = 'orange'; + } + if ($coverage >= 50) { + $color = 'yellow'; + } + if ($coverage >= 65) { + $color = 'yellowgreen'; + } + if ($coverage >= 80) { + $color = 'green'; + } + if ($coverage >= 95) { + $color = 'brightgreen'; + } + } else { + $message = 'N/A'; + $color = 'lightgrey'; + } + + $badgeInfo = [ + 'schemaVersion' => 1, + 'label' => 'coverage', + 'message' => $message, + 'color' => $color, + ]; + + $postFields = json_encode([ + 'files' => [ + $filename => [ + 'content' => json_encode($badgeInfo), + ], + ], + ]); + + $curl = curl_init(); + + curl_setopt_array($curl, [ + CURLOPT_URL => sprintf('https://api.github.com/gists/%s', $gistId), + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => '', + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 30, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => 'PATCH', + CURLOPT_POSTFIELDS => $postFields, + CURLOPT_HTTPHEADER => [ + 'accept: application/vnd.github.v3+json', + sprintf('authorization: Bearer %s', $gistToken), + 'content-type: application/json', + 'user-agent: curl', + ], + ]); + + $response = curl_exec($curl); + $json = json_decode($response, true); + $err = curl_error($curl); + $httpCode = curl_getinfo($curl, CURLINFO_RESPONSE_CODE); + + curl_close($curl); + + if ($err) { + throw new RuntimeException(sprintf('Curl error: %s', $err)); + } + + if ($httpCode > 399) { + $exceptionMessage = sprintf('Request error: %s', $json['message'] ?? $response); + + if (isset($json['errors'])) { + $exceptionMessage .= PHP_EOL . PHP_EOL . 'Errors: ' . json_encode($json['errors'], JSON_PRETTY_PRINT); + } + + throw new RuntimeException($exceptionMessage); + } + + echo 'Coverage badge info uploaded' . PHP_EOL; + exit(0); +} catch (Throwable $e) { + fwrite(STDERR, $e->getMessage() . PHP_EOL); + exit(1); +} diff --git a/box.json.dist b/box.json.dist new file mode 100644 index 0000000..5c81375 --- /dev/null +++ b/box.json.dist @@ -0,0 +1,17 @@ +{ + "alias": "apidoc.phar", + "output": "build/box/apidoc.phar", + "force-autodiscovery": true, + "directories-bin": [ + "resources" + ], + "directories": [ + "vendor/twig/twig/src/Node/Expression/Test" + ], + "files": [ + "vendor/twig/twig/src/TwigTest.php" + ], + "compactors": [ + "KevinGH\\Box\\Compactor\\PhpScoper" + ] +} diff --git a/build/box/.gitignore b/build/box/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/build/box/composer.json b/build/box/composer.json new file mode 100644 index 0000000..e4f8b64 --- /dev/null +++ b/build/box/composer.json @@ -0,0 +1,32 @@ +{ + "name": "spaceonfire/apidoc", + "type": "library", + "description": "Simple API documentation generator for your PHP library", + "keywords": [ + "phpdoc", + "apidoc", + "markdown" + ], + "homepage": "https://github.com/spaceonfire/apidoc", + "license": "MIT", + "authors": [ + { + "name": "Constantine Karnaukhov", + "email": "genteelknight@gmail.com", + "homepage": "https://www.onfire.space", + "role": "Maintainer" + } + ], + "require": { + "php": "^7.2|^8.0", + "ext-json": "*" + }, + "bin": [ + "apidoc.phar" + ], + "extra": { + "branch-alias": { + "dev-stable": "2.0-dev" + } + } +} diff --git a/composer.json b/composer.json index 7b8608d..90ff862 100755 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "spaceonfire/simple-php-apidoc", + "name": "spaceonfire/apidoc", "type": "library", "description": "Simple API documentation generator for your PHP library", "keywords": [ @@ -7,7 +7,7 @@ "apidoc", "markdown" ], - "homepage": "https://github.com/spaceonfire/simple-php-apidoc", + "homepage": "https://github.com/spaceonfire/apidoc", "license": "MIT", "authors": [ { @@ -18,28 +18,49 @@ } ], "require": { - "php": "~7.2", + "php": "^7.2|^8.0", "ext-json": "*", - "nikic/php-parser": "^4.0", - "phpdocumentor/reflection": "^4.0.0-beta", - "phpdocumentor/reflection-docblock": "^5.0.0-alpha5", - "spaceonfire/collection": "^1.2.0", - "symfony/console": "^4.3.5", - "symfony/filesystem": "^4.3.5", - "symfony/finder": "^4.3.5" + "composer/semver": "^3.2", + "guzzlehttp/psr7": "^1.6.1", + "jawira/case-converter": "^3.4.1", + "nikic/php-parser": "^4.10", + "phpdocumentor/reflection": "^4.0", + "phpdocumentor/reflection-docblock": "^5.1", + "psr/container": "^1.0", + "psr/http-message": "^1.0", + "roave/better-reflection": "^4.3", + "spaceonfire/collection": "^2.0", + "spaceonfire/container": "^2.3", + "spaceonfire/type": "^1.3", + "spaceonfire/value-object": "^1.6", + "symfony/console": "^5.1", + "symfony/filesystem": "^5.1", + "symfony/finder": "^5.1", + "symfony/polyfill-php80": "^1.20", + "symfony/translation": "^5.1", + "symfony/translation-contracts": "^2.3", + "symfony/twig-bridge": "^5.1", + "symfony/var-dumper": "^5.1", + "symfony/var-exporter": "^5.1", + "twig/twig": "^3.0", + "webmozart/assert": "^1.5", + "webmozart/path-util": "^2.3" }, "require-dev": { - "phpunit/phpunit": ">=7.0", - "squizlabs/php_codesniffer": "^3.0" + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12", + "phpunit/phpunit": "^8.5", + "roave/security-advisories": "dev-master", + "symplify/easy-coding-standard-prefixed": "^8.3" }, "autoload": { "psr-4": { - "spaceonfire\\SimplePhpApiDoc\\": "src" + "spaceonfire\\ApiDoc\\": "src" } }, "autoload-dev": { "psr-4": { - "spaceonfire\\SimplePhpApiDoc\\": "tests" + "spaceonfire\\ApiDoc\\": "tests" } }, "bin": [ @@ -47,13 +68,13 @@ ], "scripts": { "test": "phpunit", - "check-style": "phpcs src tests", - "fix-style": "phpcbf src tests", - "apidoc": "@php ./bin/apidoc --propertiesVisibility=public --propertiesVisibility=protected" + "codestyle": "ecs check --ansi", + "lint": "phpstan analyze --memory-limit=512M --ansi", + "apidoc": "@php ./bin/apidoc generate" }, "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-stable": "2.0-dev" } }, "config": { diff --git a/composer.lock b/composer.lock new file mode 100755 index 0000000..e3b777b --- /dev/null +++ b/composer.lock @@ -0,0 +1,4790 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "59eb3cb7ec528350d7f4f8125684f323", + "packages": [ + { + "name": "composer/semver", + "version": "3.2.4", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.54", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-11-13T08:59:24+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3", + "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-zlib": "*", + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2020-09-30T07:37:11+00:00" + }, + { + "name": "jawira/case-converter", + "version": "v3.4.1", + "source": { + "type": "git", + "url": "https://github.com/jawira/case-converter.git", + "reference": "756089a523ce268fb173a9f4af4ca95629b3a7f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jawira/case-converter/zipball/756089a523ce268fb173a9f4af4ca95629b3a7f0", + "reference": "756089a523ce268fb173a9f4af4ca95629b3a7f0", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1" + }, + "suggest": { + "pds/skeleton": "PHP Package Development Standards", + "phing/phing": "PHP Build Tool" + }, + "type": "library", + "autoload": { + "psr-4": { + "Jawira\\CaseConverter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jawira Portugal", + "email": "dev@tugal.be", + "homepage": "http://jawira.com/" + } + ], + "description": "Convert strings between 13 naming conventions: Snake case, Camel case, Pascal case, Kebab case, Ada case, Train case, Cobol case, Macro case, Upper case, Lower case, Sentence case, Title case and Dot notation.", + "homepage": "https://jawira.github.io/case-converter/", + "keywords": [ + "Ada case", + "Cobol case", + "Macro case", + "Train case", + "camel case", + "dot notation", + "kebab case", + "lower case", + "pascal case", + "sentence case", + "snake case", + "title case", + "upper case" + ], + "time": "2019-12-15T14:31:43+00:00" + }, + { + "name": "jetbrains/phpstorm-stubs", + "version": "v2019.3", + "source": { + "type": "git", + "url": "https://github.com/JetBrains/phpstorm-stubs.git", + "reference": "883b6facd78e01c0743b554af86fa590c2573f40" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/883b6facd78e01c0743b554af86fa590c2573f40", + "reference": "883b6facd78e01c0743b554af86fa590c2573f40", + "shasum": "" + }, + "require-dev": { + "nikic/php-parser": "^4", + "php": "^7.1", + "phpdocumentor/reflection-docblock": "^4.3", + "phpunit/phpunit": "^7" + }, + "type": "library", + "autoload": { + "files": [ + "PhpStormStubsMap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "PHP runtime & extensions header files for PhpStorm", + "homepage": "https://www.jetbrains.com/phpstorm", + "keywords": [ + "autocomplete", + "code", + "inference", + "inspection", + "jetbrains", + "phpstorm", + "stubs", + "type" + ], + "time": "2019-12-05T16:56:26+00:00" + }, + { + "name": "laminas/laminas-hydrator", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-hydrator.git", + "reference": "e75fbff6ce3cbd2b72796a3a9890c3a150d452f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-hydrator/zipball/e75fbff6ce3cbd2b72796a3a9890c3a150d452f5", + "reference": "e75fbff6ce3cbd2b72796a3a9890c3a150d452f5", + "shasum": "" + }, + "require": { + "laminas/laminas-stdlib": "^3.2.1", + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^7.2" + }, + "replace": { + "zendframework/zend-hydrator": "^3.0.2" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~1.0.0", + "laminas/laminas-eventmanager": "^3.2.1", + "laminas/laminas-modulemanager": "^2.8", + "laminas/laminas-serializer": "^2.9", + "laminas/laminas-servicemanager": "^3.3.2", + "phpspec/prophecy": ">=1.10.2", + "phpstan/phpstan": "^0.10.5", + "phpunit/phpunit": "^8.5.2 || ^9.0" + }, + "suggest": { + "laminas/laminas-eventmanager": "^3.2, to support aggregate hydrator usage", + "laminas/laminas-serializer": "^2.9, to use the SerializableStrategy", + "laminas/laminas-servicemanager": "^3.3, to support hydrator plugin manager usage" + }, + "type": "library", + "extra": { + "laminas": { + "component": "Laminas\\Hydrator", + "config-provider": "Laminas\\Hydrator\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Laminas\\Hydrator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Serialize objects to arrays, and vice versa", + "homepage": "https://laminas.dev", + "keywords": [ + "hydrator", + "laminas" + ], + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-10-06T14:59:01+00:00" + }, + { + "name": "laminas/laminas-stdlib", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-stdlib.git", + "reference": "2b18347625a2f06a1a485acfbc870f699dbe51c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/2b18347625a2f06a1a485acfbc870f699dbe51c6", + "reference": "2b18347625a2f06a1a485acfbc870f699dbe51c6", + "shasum": "" + }, + "require": { + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^5.6 || ^7.0" + }, + "replace": { + "zendframework/zend-stdlib": "self.version" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~1.0.0", + "phpbench/phpbench": "^0.13", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev", + "dev-develop": "3.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laminas\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "SPL extensions, array utilities, error handlers, and more", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "stdlib" + ], + "time": "2019-12-31T17:51:15+00:00" + }, + { + "name": "laminas/laminas-zendframework-bridge", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-zendframework-bridge.git", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "laminas": { + "module": "Laminas\\ZendFrameworkBridge" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Laminas\\ZendFrameworkBridge\\": "src//" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "keywords": [ + "ZendFramework", + "autoloading", + "laminas", + "zf" + ], + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-09-14T14:23:00+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.10.2", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "658f1be311a230e0907f5dfe0213742aff0596de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de", + "reference": "658f1be311a230e0907f5dfe0213742aff0596de", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2020-09-26T10:30:38+00:00" + }, + { + "name": "phpdocumentor/reflection", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/Reflection.git", + "reference": "447928a45710d6313e68774cf12b5f730b909baa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/447928a45710d6313e68774cf12b5f730b909baa", + "reference": "447928a45710d6313e68774cf12b5f730b909baa", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.0", + "php": ">=7.2", + "phpdocumentor/reflection-common": "^2.0", + "phpdocumentor/reflection-docblock": "^5", + "phpdocumentor/type-resolver": "^1.0", + "psr/log": "~1.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mikey179/vfsstream": "~1.2", + "mockery/mockery": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-4.x": "4.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\": "src/phpDocumentor" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Reflection library to do Static Analysis for PHP Projects", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2020-06-19T18:26:14+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.2.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2020-09-03T19:13:55+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2020-09-17T18:55:26+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2020-03-23T09:12:05+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "roave/better-reflection", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/Roave/BetterReflection.git", + "reference": "aa017e698b47feed410721f3d20e2bacfcba59d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Roave/BetterReflection/zipball/aa017e698b47feed410721f3d20e2bacfcba59d5", + "reference": "aa017e698b47feed410721f3d20e2bacfcba59d5", + "shasum": "" + }, + "require": { + "ext-json": "*", + "jetbrains/phpstorm-stubs": "2019.3", + "nikic/php-parser": "^4.4.0", + "php": ">=7.2.0,<7.5.0", + "phpdocumentor/reflection-docblock": "^5.1.0", + "phpdocumentor/type-resolver": "^1.1.0", + "roave/signature": "^1.0" + }, + "require-dev": { + "doctrine/coding-standard": "^7.0.2", + "phpstan/phpstan": "^0.12.25", + "phpunit/phpunit": "^8.5.4", + "vimeo/psalm": "3.11.2" + }, + "suggest": { + "composer/composer": "Required to use the ComposerSourceLocator" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "psr-4": { + "Roave\\BetterReflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "James Titcumb", + "email": "james@asgrim.com", + "homepage": "https://github.com/asgrim" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + }, + { + "name": "Gary Hockin", + "email": "gary@roave.com", + "homepage": "https://github.com/geeh" + }, + { + "name": "Jaroslav Hanslík", + "email": "kukulich@kukulich.cz", + "homepage": "https://github.com/kukulich" + } + ], + "description": "Better Reflection - an improved code reflection API", + "time": "2020-05-28T14:10:32+00:00" + }, + { + "name": "roave/signature", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/Roave/Signature.git", + "reference": "c4e8a59946bad694ab5682a76e7884a9157a8a2c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Roave/Signature/zipball/c4e8a59946bad694ab5682a76e7884a9157a8a2c", + "reference": "c4e8a59946bad694ab5682a76e7884a9157a8a2c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^7.2" + }, + "require-dev": { + "infection/infection": "^0.7.1", + "phpunit/phpunit": "^7.0", + "squizlabs/php_codesniffer": "^3.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Roave\\Signature\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Sign and verify stuff", + "time": "2020-10-01T07:27:11+00:00" + }, + { + "name": "spaceonfire/collection", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/spaceonfire/collection.git", + "reference": "d54d076803d0b8b63b0040dc901f206b4fef10da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spaceonfire/collection/zipball/d54d076803d0b8b63b0040dc901f206b4fef10da", + "reference": "d54d076803d0b8b63b0040dc901f206b4fef10da", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.2", + "spaceonfire/criteria": "^1.0", + "spaceonfire/type": "^1.2", + "symfony/polyfill-php73": "^1.14", + "webmozart/assert": "^1.3" + }, + "require-dev": { + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12", + "phpunit/phpunit": "^8.0", + "roave/security-advisories": "dev-master", + "symplify/easy-coding-standard-prefixed": "^8.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "spaceonfire\\Collection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Constantine Karnaukhov", + "email": "genteelknight@gmail.com", + "homepage": "https://www.onfire.space", + "role": "Maintainer" + } + ], + "description": "Framework agnostic PHP collections", + "homepage": "https://github.com/spaceonfire/collection", + "keywords": [ + "collection" + ], + "funding": [ + { + "url": "https://liberapay.com/hustlahusky", + "type": "liberapay" + } + ], + "time": "2020-10-13T18:04:03+00:00" + }, + { + "name": "spaceonfire/container", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/spaceonfire/container.git", + "reference": "e6251fc80d0e549a3a67897c90d27b5f6a5faaa7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spaceonfire/container/zipball/e6251fc80d0e549a3a67897c90d27b5f6a5faaa7", + "reference": "e6251fc80d0e549a3a67897c90d27b5f6a5faaa7", + "shasum": "" + }, + "require": { + "php": "^7.2", + "psr/container": "^1.0", + "spaceonfire/collection": "^2.0" + }, + "provide": { + "psr/container-implementation": "^1.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^8.5", + "roave/security-advisories": "dev-master", + "symplify/easy-coding-standard-prefixed": "^8.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "spaceonfire\\Container\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Constantine Karnaukhov", + "email": "genteelknight@gmail.com", + "homepage": "https://www.onfire.space/", + "role": "Maintainer" + } + ], + "description": "Small yet powerful implementation of PSR-11 compatible dependency injection container", + "homepage": "https://github.com/spaceonfire/container", + "keywords": [ + "PSR-11", + "container", + "dependency", + "di", + "injection", + "inversion of control", + "ioc", + "provider", + "psr11", + "service", + "spaceonfire" + ], + "funding": [ + { + "url": "https://liberapay.com/hustlahusky", + "type": "liberapay" + } + ], + "time": "2020-10-24T10:57:03+00:00" + }, + { + "name": "spaceonfire/criteria", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/spaceonfire/criteria.git", + "reference": "7bc2c1c0e9ed23dbf496b68a8de14e4e1d567bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spaceonfire/criteria/zipball/7bc2c1c0e9ed23dbf496b68a8de14e4e1d567bf8", + "reference": "7bc2c1c0e9ed23dbf496b68a8de14e4e1d567bf8", + "shasum": "" + }, + "require": { + "php": "^7.2", + "symfony/property-access": "^4.0|^5.0", + "webmozart/assert": "^1.3", + "webmozart/expression": "^1.0" + }, + "require-dev": { + "doctrine/collections": "^1.6.4", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12", + "phpunit/phpunit": "^8.0", + "roave/security-advisories": "dev-master", + "spiral/pagination": "^2.2", + "symplify/easy-coding-standard-prefixed": "7.3.17" + }, + "suggest": { + "spiral/pagination": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "spaceonfire\\Criteria\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Constantine Karnaukhov", + "email": "genteelknight@gmail.com", + "homepage": "https://www.onfire.space", + "role": "Maintainer" + } + ], + "description": "Criteria help you to declare rules to filter datasets", + "homepage": "https://github.com/spaceonfire/criteria", + "keywords": [ + "criteria", + "spaceonfire" + ], + "funding": [ + { + "url": "https://liberapay.com/hustlahusky", + "type": "liberapay" + } + ], + "time": "2020-09-27T10:29:24+00:00" + }, + { + "name": "spaceonfire/laminas-hydrator-bridge", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spaceonfire/laminas-hydrator-bridge.git", + "reference": "d6292a573b8d26702c821aed9af7fe07eb9a2ba4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spaceonfire/laminas-hydrator-bridge/zipball/d6292a573b8d26702c821aed9af7fe07eb9a2ba4", + "reference": "d6292a573b8d26702c821aed9af7fe07eb9a2ba4", + "shasum": "" + }, + "require": { + "laminas/laminas-hydrator": "^2.4|^3.0", + "php": "^7.2" + }, + "require-dev": { + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^8.5", + "roave/security-advisories": "dev-master", + "spaceonfire/type": "^1.1", + "symplify/easy-coding-standard-prefixed": "^8.3" + }, + "suggest": { + "spaceonfire/type": "Required to use ScalarStrategy" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "spaceonfire\\LaminasHydratorBridge\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Constantine Karnaukhov", + "email": "genteelknight@gmail.com", + "homepage": "https://www.onfire.space", + "role": "Maintainer" + } + ], + "description": "Provides integration for Laminas Hydrator with some spaceonfire libraries", + "homepage": "https://github.com/spaceonfire/laminas-hydrator-bridge", + "keywords": [ + "hydrator", + "laminas", + "laminas-hydrator", + "spaceonfire" + ], + "funding": [ + { + "url": "https://liberapay.com/hustlahusky", + "type": "liberapay" + } + ], + "time": "2020-10-05T06:13:01+00:00" + }, + { + "name": "spaceonfire/type", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/spaceonfire/type.git", + "reference": "3b15ca388980ba3876b1fa7c518a35ce963bd9d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spaceonfire/type/zipball/3b15ca388980ba3876b1fa7c518a35ce963bd9d9", + "reference": "3b15ca388980ba3876b1fa7c518a35ce963bd9d9", + "shasum": "" + }, + "require": { + "php": "^7.2", + "webmozart/assert": "^1.3" + }, + "require-dev": { + "ext-json": "*", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12", + "phpunit/phpunit": "^8.0", + "roave/security-advisories": "dev-master", + "symplify/easy-coding-standard-prefixed": "^8.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "spaceonfire\\Type\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Constantine Karnaukhov", + "email": "genteelknight@gmail.com", + "homepage": "https://www.onfire.space", + "role": "Maintainer" + } + ], + "description": "Collection of objects that provides ability of checking value types", + "homepage": "https://github.com/spaceonfire/type", + "keywords": [ + "spaceonfire", + "type" + ], + "funding": [ + { + "url": "https://liberapay.com/hustlahusky", + "type": "liberapay" + } + ], + "time": "2020-10-17T17:58:12+00:00" + }, + { + "name": "spaceonfire/value-object", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/spaceonfire/value-object.git", + "reference": "bb8b85f0c118f0f75fb4ef803e22079fa4289056" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spaceonfire/value-object/zipball/bb8b85f0c118f0f75fb4ef803e22079fa4289056", + "reference": "bb8b85f0c118f0f75fb4ef803e22079fa4289056", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/psr7": "^1.6.1", + "jawira/case-converter": "^3.4.1", + "php": "^7.2", + "spaceonfire/laminas-hydrator-bridge": "^1.0", + "webmozart/assert": "^1.6" + }, + "require-dev": { + "laminas/laminas-hydrator": "^2.4|^3.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12", + "phpunit/phpunit": "^8.0", + "ramsey/uuid": "^3.9|^4.0", + "slevomat/coding-standard": "^6.3.10", + "symplify/easy-coding-standard-prefixed": "^8.3" + }, + "suggest": { + "laminas/laminas-hydrator": "There is hydrator strategy integration for this package", + "ramsey/uuid": "To use UuidValue" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "spaceonfire\\ValueObject\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Constantine Karnaukhov", + "email": "genteelknight@gmail.com", + "homepage": "https://www.onfire.space/", + "role": "Maintainer" + } + ], + "homepage": "https://github.com/spaceonfire/value-object", + "keywords": [ + "spaceonfire", + "value-object" + ], + "funding": [ + { + "url": "https://liberapay.com/hustlahusky", + "type": "liberapay" + } + ], + "time": "2020-10-06T16:47:16+00:00" + }, + { + "name": "symfony/console", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e", + "reference": "e0b2c29c0fa6a69089209bbe8fcff4df2a313d0e", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "df08650ea7aee2d925380069c131a66124d79177" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/df08650ea7aee2d925380069c131a66124d79177", + "reference": "df08650ea7aee2d925380069c131a66124d79177", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "e70eb5a69c2ff61ea135a13d2266e8914a67b3a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/e70eb5a69c2ff61ea135a13d2266e8914a67b3a0", + "reference": "e70eb5a69c2ff61ea135a13d2266e8914a67b3a0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41", + "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", + "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "727d1096295d807c309fb01a851577302394c897" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897", + "reference": "727d1096295d807c309fb01a851577302394c897", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531", + "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed", + "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/property-access", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "5d77df9a88600797d02c7937c153965ba3537933" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/5d77df9a88600797d02c7937c153965ba3537933", + "reference": "5d77df9a88600797d02c7937c153965ba3537933", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15", + "symfony/property-info": "^5.1.1" + }, + "require-dev": { + "symfony/cache": "^4.4|^5.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony PropertyAccess Component", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property path", + "reflection" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "symfony/property-info", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-info.git", + "reference": "fc15c51f829887b62a94a917ba793f51e80ea3e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-info/zipball/fc15c51f829887b62a94a917ba793f51e80ea3e1", + "reference": "fc15c51f829887b62a94a917ba793f51e80ea3e1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15", + "symfony/string": "^5.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<0.3.0", + "symfony/dependency-injection": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/cache": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "suggest": { + "phpdocumentor/reflection-docblock": "To use the PHPDoc", + "psr/cache-implementation": "To cache results", + "symfony/doctrine-bridge": "To use Doctrine metadata", + "symfony/serializer": "To use Serializer metadata" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Property Info Component", + "homepage": "https://symfony.com", + "keywords": [ + "doctrine", + "phpdoc", + "property", + "symfony", + "type", + "validator" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/string", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "a97573e960303db71be0dd8fda9be3bca5e0feea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/a97573e960303db71be0dd8fda9be3bca5e0feea", + "reference": "a97573e960303db71be0dd8fda9be3bca5e0feea", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony String component", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "27980838fd261e04379fa91e94e81e662fe5a1b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/27980838fd261e04379fa91e94e81e662fe5a1b6", + "reference": "27980838fd261e04379fa91e94e81e662fe5a1b6", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^2" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-28T13:05:58+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "874735a8c97963af2009e0eaee55b17fc0846db2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/874735a8c97963af2009e0eaee55b17fc0846db2", + "reference": "874735a8c97963af2009e0eaee55b17fc0846db2", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.10|^3.0" + }, + "conflict": { + "symfony/console": "<4.4", + "symfony/form": "<5.1", + "symfony/http-foundation": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<5.0", + "symfony/workflow": "<4.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "symfony/asset": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/form": "^5.1", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/routing": "^4.4|^5.0", + "symfony/security-acl": "^2.8|^3.0", + "symfony/security-core": "^4.4|^5.0", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/security-http": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^5.0", + "symfony/web-link": "^4.4|^5.0", + "symfony/workflow": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0", + "twig/cssinliner-extra": "^2.12", + "twig/inky-extra": "^2.12", + "twig/markdown-extra": "^2.12" + }, + "suggest": { + "symfony/asset": "For using the AssetExtension", + "symfony/expression-language": "For using the ExpressionExtension", + "symfony/finder": "", + "symfony/form": "For using the FormExtension", + "symfony/http-kernel": "For using the HttpKernelExtension", + "symfony/routing": "For using the RoutingExtension", + "symfony/security-core": "For using the SecurityExtension", + "symfony/security-csrf": "For using the CsrfExtension", + "symfony/security-http": "For using the LogoutUrlExtension", + "symfony/stopwatch": "For using the StopwatchExtension", + "symfony/translation": "For using the TranslationExtension", + "symfony/var-dumper": "For using the DumpExtension", + "symfony/web-link": "For using the WebLinkExtension", + "symfony/yaml": "For using the YamlExtension" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Twig Bridge", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "4e13f3fcefb1fcaaa5efb5403581406f4e840b9a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/4e13f3fcefb1fcaaa5efb5403581406f4e840b9a", + "reference": "4e13f3fcefb1fcaaa5efb5403581406f4e840b9a", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.4|^3.0" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-27T10:11:13+00:00" + }, + { + "name": "symfony/var-exporter", + "version": "v5.1.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "b4048bfc6248413592462c029381bdb2f7b6525f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b4048bfc6248413592462c029381bdb2f7b6525f", + "reference": "b4048bfc6248413592462c029381bdb2f7b6525f", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "symfony/var-dumper": "^4.4.9|^5.0.9" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A blend of var_export() + serialize() to turn any serializable data structure to plain PHP code", + "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "serialize" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T12:01:57+00:00" + }, + { + "name": "twig/twig", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "b02fa41f3783a2616eccef7b92fbc2343ffed737" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/b02fa41f3783a2616eccef7b92fbc2343ffed737", + "reference": "b02fa41f3783a2616eccef7b92fbc2343ffed737", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2020-10-27T19:28:23+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2020-07-08T17:02:28+00:00" + }, + { + "name": "webmozart/expression", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/expression.git", + "reference": "35c222fc49533894228e1240cc844ae91d6a9ef2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/expression/zipball/35c222fc49533894228e1240cc844ae91d6a9ef2", + "reference": "35c222fc49533894228e1240cc844ae91d6a9ef2", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Expression\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Formulate expressions and search criteria using PHP objects.", + "keywords": [ + "criteria", + "expression", + "filter", + "formula" + ], + "time": "2015-12-17T10:43:13+00:00" + }, + { + "name": "webmozart/path-util", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/path-util.git", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "webmozart/assert": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\PathUtil\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", + "time": "2015-12-17T08:42:14+00:00" + } + ], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.10.2", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" + }, + { + "name": "phar-io/manifest", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^2.0", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2018-07-08T19:23:20+00:00" + }, + { + "name": "phar-io/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2018-07-08T19:19:57+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.12.1", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d", + "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0 <9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\": "src/Prophecy" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2020-09-29T09:10:42+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "0.12.57", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "f9909d1d0c44b4cbaf72babcf80e8f14d6fdd55b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/f9909d1d0c44b4cbaf72babcf80e8f14d6fdd55b", + "reference": "f9909d1d0c44b4cbaf72babcf80e8f14d6fdd55b", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.12-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpstan", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2020-11-21T12:53:28+00:00" + }, + { + "name": "phpstan/phpstan-webmozart-assert", + "version": "0.12.7", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-webmozart-assert.git", + "reference": "afaf96ddd69133fc7a1ed527039eaca39454c4d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-webmozart-assert/zipball/afaf96ddd69133fc7a1ed527039eaca39454c4d8", + "reference": "afaf96ddd69133fc7a1ed527039eaca39454c4d8", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "phpstan/phpstan": "^0.12.24" + }, + "require-dev": { + "consistence/coding-standard": "^3.7", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "ergebnis/composer-normalize": "^2.0.2", + "jakub-onderka/php-parallel-lint": "^1.0", + "phing/phing": "^2.16.0", + "phpstan/phpstan-phpunit": "^0.12.6", + "phpstan/phpstan-strict-rules": "^0.12.1", + "phpunit/phpunit": "^7.5.18", + "slevomat/coding-standard": "^4.5.2", + "webmozart/assert": "^1.7.0" + }, + "type": "phpstan-extension", + "extra": { + "branch-alias": { + "dev-master": "0.12-dev" + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan webmozart/assert extension", + "time": "2020-07-21T14:55:38+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "7.0.10", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", + "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.2", + "phpunit/php-file-iterator": "^2.0.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^3.1.1", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^4.2.2", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1.3" + }, + "require-dev": { + "phpunit/phpunit": "^8.2.2" + }, + "suggest": { + "ext-xdebug": "^2.7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2019-11-20T13:55:58+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "050bedf145a257b1ff02746c31894800e5122946" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", + "reference": "050bedf145a257b1ff02746c31894800e5122946", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2018-09-13T20:33:42+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", + "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2019-06-07T04:22:29+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "abandoned": true, + "time": "2019-09-17T06:23:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "8.5.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "f5c8a5dd5e7e8d68d7562bfb48d47287d33937d6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f5c8a5dd5e7e8d68d7562bfb48d47287d33937d6", + "reference": "f5c8a5dd5e7e8d68d7562bfb48d47287d33937d6", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.0", + "phar-io/manifest": "^1.0.3", + "phar-io/version": "^2.0.1", + "php": "^7.2", + "phpspec/prophecy": "^1.10.3", + "phpunit/php-code-coverage": "^7.0.10", + "phpunit/php-file-iterator": "^2.0.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^2.1.2", + "sebastian/comparator": "^3.0.2", + "sebastian/diff": "^3.0.2", + "sebastian/environment": "^4.2.3", + "sebastian/exporter": "^3.1.2", + "sebastian/global-state": "^3.0.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^2.0.1", + "sebastian/type": "^1.1.3", + "sebastian/version": "^2.0.1" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*", + "phpunit/php-invoker": "^2.0.0" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-10T12:51:38+00:00" + }, + { + "name": "roave/security-advisories", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/Roave/SecurityAdvisories.git", + "reference": "fa05999280434eacf621cc78ab9179d9394c7998" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/fa05999280434eacf621cc78ab9179d9394c7998", + "reference": "fa05999280434eacf621cc78ab9179d9394c7998", + "shasum": "" + }, + "conflict": { + "3f/pygmentize": "<1.2", + "adodb/adodb-php": "<5.20.12", + "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", + "amphp/artax": "<1.0.6|>=2,<2.0.6", + "amphp/http": "<1.0.1", + "amphp/http-client": ">=4,<4.4", + "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", + "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", + "aws/aws-sdk-php": ">=3,<3.2.1", + "bagisto/bagisto": "<0.1.5", + "barrelstrength/sprout-base-email": "<1.2.7", + "barrelstrength/sprout-forms": "<3.9", + "baserproject/basercms": ">=4,<=4.3.6|>=4.4,<4.4.1", + "bolt/bolt": "<3.7.1", + "brightlocal/phpwhois": "<=4.2.5", + "buddypress/buddypress": "<5.1.2", + "bugsnag/bugsnag-laravel": ">=2,<2.0.2", + "cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.5.18|>=3.6,<3.6.15|>=3.7,<3.7.7", + "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", + "cartalyst/sentry": "<=2.1.6", + "centreon/centreon": "<18.10.8|>=19,<19.4.5", + "cesnet/simplesamlphp-module-proxystatistics": "<3.1", + "codeigniter/framework": "<=3.0.6", + "composer/composer": "<=1-alpha.11", + "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/core": ">=2,<3.5.39", + "contao/core-bundle": "= 4.10.0|>=4,<4.4.52|>=4.5,<4.9.6", + "contao/listing-bundle": ">=4,<4.4.8", + "datadog/dd-trace": ">=0.30,<0.30.2", + "david-garcia/phpwhois": "<=4.3.1", + "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "doctrine/annotations": ">=1,<1.2.7", + "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", + "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2", + "doctrine/doctrine-bundle": "<1.5.2", + "doctrine/doctrine-module": "<=0.7.1", + "doctrine/mongodb-odm": ">=1,<1.0.2", + "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", + "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1", + "dolibarr/dolibarr": "<11.0.4", + "dompdf/dompdf": ">=0.6,<0.6.2", + "drupal/core": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", + "drupal/drupal": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", + "endroid/qr-code-bundle": "<3.4.2", + "enshrined/svg-sanitize": "<0.13.1", + "erusev/parsedown": "<1.7.2", + "ezsystems/demobundle": ">=5.4,<5.4.6.1", + "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", + "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", + "ezsystems/ezplatform": ">=1.7,<1.7.9.1|>=1.13,<1.13.5.1|>=2.5,<2.5.4", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6", + "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", + "ezsystems/ezplatform-kernel": ">=1,<1.0.2.1", + "ezsystems/ezplatform-user": ">=1,<1.0.1", + "ezsystems/ezpublish-kernel": ">=5.3,<5.3.12.1|>=5.4,<5.4.14.2|>=6,<6.7.9.1|>=6.8,<6.13.6.3|>=7,<7.2.4.1|>=7.3,<7.3.2.1|>=7.5,<7.5.7.1", + "ezsystems/ezpublish-legacy": ">=5.3,<5.3.12.6|>=5.4,<5.4.14.2|>=2011,<2017.12.7.3|>=2018.6,<2018.6.1.4|>=2018.9,<2018.9.1.3|>=2019.3,<2019.3.5.1", + "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", + "ezsystems/repository-forms": ">=2.3,<2.3.2.1", + "ezyang/htmlpurifier": "<4.1.1", + "firebase/php-jwt": "<2", + "fooman/tcpdf": "<6.2.22", + "fossar/tcpdf-parser": "<6.2.22", + "friendsofsymfony/oauth2-php": "<1.3", + "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", + "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", + "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", + "fuel/core": "<1.8.1", + "getgrav/grav": "<1.7-beta.8", + "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", + "gree/jose": "<=2.2", + "gregwar/rst": "<1.0.3", + "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1", + "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", + "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", + "illuminate/database": ">=4,<4.0.99|>=4.1,<4.1.29|>=5.5,<=5.5.44|>=6,<6.18.34|>=7,<7.23.2", + "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", + "illuminate/view": ">=7,<7.1.2", + "ivankristianto/phpwhois": "<=4.3", + "james-heinrich/getid3": "<1.9.9", + "joomla/session": "<1.3.1", + "jsmitty12/phpwhois": "<5.1", + "kazist/phpwhois": "<=4.2.6", + "kitodo/presentation": "<3.1.2", + "kreait/firebase-php": ">=3.2,<3.8.1", + "la-haute-societe/tcpdf": "<6.2.22", + "laravel/framework": ">=4,<4.0.99|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.34|>=7,<7.23.2", + "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "league/commonmark": "<0.18.3", + "librenms/librenms": "<1.53", + "livewire/livewire": ">2.2.4,<2.2.6", + "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", + "magento/magento1ce": "<1.9.4.3", + "magento/magento1ee": ">=1,<1.14.4.3", + "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", + "marcwillmann/turn": "<0.3.3", + "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", + "mittwald/typo3_forum": "<1.2.1", + "monolog/monolog": ">=1.8,<1.12", + "namshi/jose": "<2.2", + "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", + "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", + "nystudio107/craft-seomatic": "<3.3", + "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", + "october/backend": ">=1.0.319,<1.0.470", + "october/cms": "= 1.0.469|>=1.0.319,<1.0.469", + "october/october": ">=1.0.319,<1.0.466", + "october/rain": ">=1.0.319,<1.0.468", + "onelogin/php-saml": "<2.10.4", + "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "openid/php-openid": "<2.3", + "openmage/magento-lts": "<19.4.8|>=20,<20.0.4", + "orchid/platform": ">=9,<9.4.4", + "oro/crm": ">=1.7,<1.7.4", + "oro/platform": ">=1.7,<1.7.4", + "padraic/humbug_get_contents": "<1.1.2", + "pagarme/pagarme-php": ">=0,<3", + "paragonie/random_compat": "<2", + "passbolt/passbolt_api": "<2.11", + "paypal/merchant-sdk-php": "<3.12", + "pear/archive_tar": "<1.4.11", + "personnummer/personnummer": "<3.0.2", + "phpfastcache/phpfastcache": ">=5,<5.0.13", + "phpmailer/phpmailer": "<6.1.6", + "phpmussel/phpmussel": ">=1,<1.6", + "phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3", + "phpoffice/phpexcel": "<1.8.2", + "phpoffice/phpspreadsheet": "<1.8", + "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3", + "phpwhois/phpwhois": "<=4.2.5", + "phpxmlrpc/extras": "<0.6.1", + "pimcore/pimcore": "<6.3", + "pocketmine/pocketmine-mp": "<3.15.4", + "prestashop/autoupgrade": ">=4,<4.10.1", + "prestashop/contactform": ">1.0.1,<4.3", + "prestashop/gamification": "<2.3.2", + "prestashop/productcomments": ">=4,<4.2", + "prestashop/ps_facetedsearch": "<3.4.1", + "privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2", + "propel/propel": ">=2-alpha.1,<=2-alpha.7", + "propel/propel1": ">=1,<=1.7.1", + "pterodactyl/panel": "<0.7.19|>=1-rc.0,<=1-rc.6", + "pusher/pusher-php-server": "<2.2.1", + "rainlab/debugbar-plugin": "<3.1", + "robrichards/xmlseclibs": "<3.0.4", + "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", + "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", + "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", + "sensiolabs/connect": "<4.2.3", + "serluck/phpwhois": "<=4.2.6", + "shopware/core": "<=6.3.2", + "shopware/platform": "<=6.3.2", + "shopware/shopware": "<5.6.9", + "silverstripe/admin": ">=1.0.3,<1.0.4|>=1.1,<1.1.1", + "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2", + "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4", + "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", + "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", + "silverstripe/framework": "<4.4.7|>=4.5,<4.5.4", + "silverstripe/graphql": ">=2,<2.0.5|>=3,<3.1.2|>=3.2,<3.2.4", + "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", + "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", + "silverstripe/subsites": ">=2,<2.1.1", + "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", + "silverstripe/userforms": "<3", + "simple-updates/phpwhois": "<=1", + "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4", + "simplesamlphp/simplesamlphp": "<1.18.6", + "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", + "simplito/elliptic-php": "<1.0.6", + "slim/slim": "<2.6", + "smarty/smarty": "<3.1.33", + "socalnick/scn-social-auth": "<1.15.2", + "spoonity/tcpdf": "<6.2.22", + "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", + "ssddanbrown/bookstack": "<0.29.2", + "stormpath/sdk": ">=0,<9.9.99", + "studio-42/elfinder": "<2.1.49", + "sulu/sulu": "<1.6.34|>=2,<2.0.10|>=2.1,<2.1.1", + "swiftmailer/swiftmailer": ">=4,<5.4.5", + "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", + "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", + "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3", + "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", + "symbiote/silverstripe-versionedfiles": "<=2.0.3", + "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", + "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", + "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", + "symfony/mime": ">=4.3,<4.3.8", + "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/polyfill": ">=1,<1.10", + "symfony/polyfill-php55": ">=1,<1.10", + "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/routing": ">=2,<2.0.19", + "symfony/security": ">=2,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<2.8.37|>=3,<3.3.17|>=3.4,<3.4.7|>=4,<4.0.7", + "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-guard": ">=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/serializer": ">=2,<2.0.11", + "symfony/symfony": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/translation": ">=2,<2.0.17", + "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", + "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", + "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", + "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "t3g/svg-sanitizer": "<1.0.3", + "tecnickcom/tcpdf": "<6.2.22", + "thelia/backoffice-default-template": ">=2.1,<2.1.2", + "thelia/thelia": ">=2.1-beta.1,<2.1.3", + "theonedemon/phpwhois": "<=4.2.5", + "titon/framework": ">=0,<9.9.99", + "truckersmp/phpwhois": "<=4.3.1", + "twig/twig": "<1.38|>=2,<2.7", + "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.23|>=10,<10.4.10", + "typo3/cms-core": ">=8,<8.7.38|>=9,<9.5.23|>=10,<10.4.10", + "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5", + "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4", + "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", + "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", + "ua-parser/uap-php": "<3.8", + "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", + "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", + "wallabag/tcpdf": "<6.2.22", + "willdurand/js-translation-bundle": "<2.1.1", + "yii2mod/yii2-cms": "<1.9.2", + "yiisoft/yii": ">=1.1.14,<1.1.15", + "yiisoft/yii2": "<2.0.38", + "yiisoft/yii2-bootstrap": "<2.0.4", + "yiisoft/yii2-dev": "<2.0.15", + "yiisoft/yii2-elasticsearch": "<2.0.5", + "yiisoft/yii2-gii": "<2.0.4", + "yiisoft/yii2-jui": "<2.0.4", + "yiisoft/yii2-redis": "<2.0.8", + "yourls/yourls": "<1.7.4", + "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", + "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", + "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", + "zendframework/zend-diactoros": ">=1,<1.8.4", + "zendframework/zend-feed": ">=1,<2.10.3", + "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-http": ">=1,<2.8.1", + "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", + "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", + "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", + "zendframework/zend-validator": ">=2.3,<2.3.6", + "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zendframework": "<2.5.1", + "zendframework/zendframework1": "<1.12.20", + "zendframework/zendopenid": ">=2,<2.0.2", + "zendframework/zendxml": ">=1,<1.0.1", + "zetacomponents/mail": "<1.8.2", + "zf-commons/zfc-user": "<1.2.2", + "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", + "zfr/zfr-oauth2-server-module": "<0.1.2" + }, + "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "role": "maintainer" + }, + { + "name": "Ilya Tribusean", + "email": "slash3b@gmail.com", + "role": "maintainer" + } + ], + "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", + "type": "tidelift" + } + ], + "time": "2020-11-26T07:02:13+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" + }, + { + "name": "sebastian/comparator", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "shasum": "" + }, + "require": { + "php": "^7.1", + "sebastian/diff": "^3.0", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2018-07-12T15:12:46+00:00" + }, + { + "name": "sebastian/diff", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^8.0", + "symfony/process": "^2 || ^3.3 || ^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "time": "2019-02-04T06:01:07+00:00" + }, + { + "name": "sebastian/environment", + "version": "4.2.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2019-11-20T08:46:58+00:00" + }, + { + "name": "sebastian/exporter", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2019-09-14T09:02:43+00:00" + }, + { + "name": "sebastian/global-state", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", + "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", + "shasum": "" + }, + "require": { + "php": "^7.2", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^8.0" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2019-02-01T05:30:01+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2018-10-04T04:07:39+00:00" + }, + { + "name": "sebastian/type", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3", + "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3", + "shasum": "" + }, + "require": { + "php": "^7.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "time": "2019-07-02T08:10:15+00:00" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" + }, + { + "name": "symplify/easy-coding-standard-prefixed", + "version": "8.3.48", + "source": { + "type": "git", + "url": "https://github.com/symplify/easy-coding-standard-prefixed.git", + "reference": "0e66ade37480e74a05a438cccd274dc9ae1a73a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/easy-coding-standard-prefixed/zipball/0e66ade37480e74a05a438cccd274dc9ae1a73a1", + "reference": "0e66ade37480e74a05a438cccd274dc9ae1a73a1", + "shasum": "" + }, + "require": { + "php": "^7.2" + }, + "conflict": { + "symplify/auto-bind-parameter": "<7.2", + "symplify/autowire-array-parameter": "<7.2", + "symplify/coding-standard": "<7.2", + "symplify/package-builder": "<7.2", + "symplify/set-config-resolver": "<7.2", + "symplify/smart-file-system": "<7.2" + }, + "replace": { + "symplify/easy-coding-standard": "self.version" + }, + "bin": [ + "ecs", + "ecs.phar" + ], + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Prefixed version of ECS compiled in PHAR", + "time": "2020-10-26T10:45:08+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "75a63c33a8577608444246075ea0af0d052e452a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2020-07-12T23:59:07+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "roave/security-advisories": 20 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^7.2", + "ext-json": "*" + }, + "platform-dev": [], + "plugin-api-version": "1.1.0" +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100755 index 0000000..36e8033 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3' + +services: + app: + image: spaceonfire/nginx-php-fpm:latest-7.3 + environment: + - SOF_PRESET=default + - APPLICATION_ENV=test + - WEBROOT=/dev/null + - ENABLE_XDEBUG=1 + - XDEBUG_IDEKEY=apidoc + - PAGER=more + - PUID=1000 + volumes: + - ./:/var/www/html diff --git a/docs/Application/ApiDocKernel.md b/docs/Application/ApiDocKernel.md new file mode 100644 index 0000000..d58afca --- /dev/null +++ b/docs/Application/ApiDocKernel.md @@ -0,0 +1,92 @@ +# Class ApiDocKernel + +Full name: `spaceonfire\ApiDoc\Application\ApiDocKernel` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_application_apidockernel_construct) | | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_apidoc_application_apidockernel_getcontainer) | _spaceonfire\Container\CompositeContainer_ | Returns the container | [📢](# "Visibility: public") | +| [isDebugModeEnabled](#spaceonfire_apidoc_application_apidockernel_isdebugmodeenabled) | _bool_ | Running debug mode? | [📢](# "Visibility: public") | +| [configureConsoleApplication](#spaceonfire_apidoc_application_apidockernel_configureconsoleapplication) | _void_ | Configure symfony/console application | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | ------ | --------- | ----------- | +| `$debugModeEnabled` | _bool_ | No | | + +```php +public function __construct(bool $debugModeEnabled = false) +``` + +File location: `Application/ApiDocKernel.php:29` + + + +### getContainer() + +Returns the container + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\CompositeContainer_ | | | + +```php +public function getContainer(): spaceonfire\Container\CompositeContainer +``` + +File location: `Application/ApiDocKernel.php:71` + + + +### isDebugModeEnabled() + +Running debug mode? + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function isDebugModeEnabled(): bool +``` + +File location: `Application/ApiDocKernel.php:80` + + + +### configureConsoleApplication() + +Configure symfony/console application + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------- | --------- | ----------- | +| `$app` | _Symfony\Component\Console\Application_ | No | | +| `$input` | _Symfony\Component\Console\Input\InputInterface_ | No | | +| `$output` | _Symfony\Component\Console\Output\OutputInterface_ | No | | +| **Return** | _void_ | | | + +```php +public function configureConsoleApplication(Symfony\Component\Console\Application $app, Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output): void +``` + +File location: `Application/ApiDocKernel.php:91` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/Console/GenerateCommand.md b/docs/Application/Console/GenerateCommand.md new file mode 100644 index 0000000..b19da9f --- /dev/null +++ b/docs/Application/Console/GenerateCommand.md @@ -0,0 +1,701 @@ +# Class GenerateCommand + +Full name: `spaceonfire\ApiDoc\Application\Console\GenerateCommand` + +Parent class name: `Symfony\Component\Console\Command\Command` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | +| _Constants_ | | | | +| [SUCCESS](#symfony_component_console_command_command_success) | | | [📢](# "Visibility: public") | +| [FAILURE](#symfony_component_console_command_command_failure) | | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_application_console_generatecommand_construct) | | | [📢](# "Visibility: public") | +| [getDefaultName](#symfony_component_console_command_command_getdefaultname) | _string|null_ | | [🇸](# "Static element") [📢](# "Visibility: public") | +| [ignoreValidationErrors](#symfony_component_console_command_command_ignorevalidationerrors) | | Ignores validation errors. | [📢](# "Visibility: public") | +| [setApplication](#symfony_component_console_command_command_setapplication) | | | [📢](# "Visibility: public") | +| [setHelperSet](#symfony_component_console_command_command_sethelperset) | | | [📢](# "Visibility: public") | +| [getHelperSet](#symfony_component_console_command_command_gethelperset) | _Symfony\Component\Console\Helper\HelperSet|null_ | Gets the helper set. | [📢](# "Visibility: public") | +| [getApplication](#symfony_component_console_command_command_getapplication) | _Symfony\Component\Console\Application|null_ | Gets the application instance for this command. | [📢](# "Visibility: public") | +| [isEnabled](#symfony_component_console_command_command_isenabled) | _bool_ | Checks whether the command is enabled or not in the current environment. | [📢](# "Visibility: public") | +| [run](#symfony_component_console_command_command_run) | _int_ | Runs the command. | [📢](# "Visibility: public") | +| [setCode](#symfony_component_console_command_command_setcode) | _Symfony\Component\Console\Command\Command_ | Sets the code to execute when running this command. | [📢](# "Visibility: public") | +| [mergeApplicationDefinition](#symfony_component_console_command_command_mergeapplicationdefinition) | | Merges the application definition with the command definition. | [📢](# "Visibility: public") | +| [setDefinition](#symfony_component_console_command_command_setdefinition) | _Symfony\Component\Console\Command\Command_ | Sets an array of argument and option instances. | [📢](# "Visibility: public") | +| [getDefinition](#symfony_component_console_command_command_getdefinition) | _Symfony\Component\Console\Input\InputDefinition_ | Gets the InputDefinition attached to this Command. | [📢](# "Visibility: public") | +| [getNativeDefinition](#symfony_component_console_command_command_getnativedefinition) | _Symfony\Component\Console\Input\InputDefinition_ | Gets the InputDefinition to be used to create representations of this Command. | [📢](# "Visibility: public") | +| [addArgument](#symfony_component_console_command_command_addargument) | _Symfony\Component\Console\Command\Command_ | Adds an argument. | [📢](# "Visibility: public") | +| [addOption](#symfony_component_console_command_command_addoption) | _Symfony\Component\Console\Command\Command_ | Adds an option. | [📢](# "Visibility: public") | +| [setName](#symfony_component_console_command_command_setname) | _Symfony\Component\Console\Command\Command_ | Sets the name of the command. | [📢](# "Visibility: public") | +| [setProcessTitle](#symfony_component_console_command_command_setprocesstitle) | _Symfony\Component\Console\Command\Command_ | Sets the process title of the command. | [📢](# "Visibility: public") | +| [getName](#symfony_component_console_command_command_getname) | _string|null_ | Returns the command name. | [📢](# "Visibility: public") | +| [setHidden](#symfony_component_console_command_command_sethidden) | _Symfony\Component\Console\Command\Command_ | | [📢](# "Visibility: public") | +| [isHidden](#symfony_component_console_command_command_ishidden) | _bool_ | | [📢](# "Visibility: public") | +| [setDescription](#symfony_component_console_command_command_setdescription) | _Symfony\Component\Console\Command\Command_ | Sets the description for the command. | [📢](# "Visibility: public") | +| [getDescription](#symfony_component_console_command_command_getdescription) | _string_ | Returns the description for the command. | [📢](# "Visibility: public") | +| [setHelp](#symfony_component_console_command_command_sethelp) | _Symfony\Component\Console\Command\Command_ | Sets the help for the command. | [📢](# "Visibility: public") | +| [getHelp](#symfony_component_console_command_command_gethelp) | _string_ | Returns the help for the command. | [📢](# "Visibility: public") | +| [getProcessedHelp](#symfony_component_console_command_command_getprocessedhelp) | _string_ | Returns the processed help for the command replacing the %command.name% and
%command.full_name% patterns with the real values dynamically. | [📢](# "Visibility: public") | +| [setAliases](#symfony_component_console_command_command_setaliases) | _Symfony\Component\Console\Command\Command_ | Sets the aliases for the command. | [📢](# "Visibility: public") | +| [getAliases](#symfony_component_console_command_command_getaliases) | _mixed[]_ | Returns the aliases for the command. | [📢](# "Visibility: public") | +| [getSynopsis](#symfony_component_console_command_command_getsynopsis) | _string_ | Returns the synopsis for the command. | [📢](# "Visibility: public") | +| [addUsage](#symfony_component_console_command_command_addusage) | _Symfony\Component\Console\Command\Command_ | Add a command usage example, it'll be prefixed with the command name. | [📢](# "Visibility: public") | +| [getUsages](#symfony_component_console_command_command_getusages) | _mixed[]_ | Returns alternative usages of the command. | [📢](# "Visibility: public") | +| [getHelper](#symfony_component_console_command_command_gethelper) | _mixed_ | Gets a helper instance by name. | [📢](# "Visibility: public") | + +## Constants + + + +### SUCCESS + +- **Visibility**: public +- **Value**: `0` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:32` + + + +### FAILURE + +- **Visibility**: public +- **Value**: `1` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:33` + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------- | --------------------------------------------- | --------- | ----------- | +| `$kernel` | _spaceonfire\ApiDoc\Application\ApiDocKernel_ | No | | +| `$name` | _string|null_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Application\ApiDocKernel $kernel, string|null $name = null) +``` + +File location: `Application/Console/GenerateCommand.php:27` + + + +### getDefaultName() + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | ------------------ | --------- | ------------------------------------------------------------ | +| **Return** | _string|null_ | | The default command name or null when no default name is set | + +```php +public static function getDefaultName(): string|null +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:59` + + + +### ignoreValidationErrors() + +Ignores validation errors. + +This is mainly useful for the help command. + +- **Visibility**: public + +```php +public function ignoreValidationErrors() +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:88` + + + +### setApplication() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ------------------------------------------------- | --------- | ----------- | +| `$application` | _Symfony\Component\Console\Application|null_ | No | | + +```php +public function setApplication(Symfony\Component\Console\Application|null $application = null) +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:93` + + + +### setHelperSet() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | -------------------------------------------- | --------- | ----------- | +| `$helperSet` | _Symfony\Component\Console\Helper\HelperSet_ | No | | + +```php +public function setHelperSet(Symfony\Component\Console\Helper\HelperSet $helperSet) +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:103` + + + +### getHelperSet() + +Gets the helper set. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | -------------------- | +| **Return** | _Symfony\Component\Console\Helper\HelperSet|null_ | | A HelperSet instance | + +```php +public function getHelperSet(): Symfony\Component\Console\Helper\HelperSet|null +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:113` + + + +### getApplication() + +Gets the application instance for this command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------- | --------- | ----------------------- | +| **Return** | _Symfony\Component\Console\Application|null_ | | An Application instance | + +```php +public function getApplication(): Symfony\Component\Console\Application|null +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:123` + + + +### isEnabled() + +Checks whether the command is enabled or not in the current environment. + +Override this to check for x or y and return false if the command can not +run properly under the current conditions. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function isEnabled(): bool +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:136` + + + +### run() + +Runs the command. + +The code to execute is either defined directly with the +setCode() method or by overriding the execute() method +in a sub-class. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------- | --------- | ---------------------------------------------------------------------------------- | +| `$input` | _Symfony\Component\Console\Input\InputInterface_ | No | | +| `$output` | _Symfony\Component\Console\Output\OutputInterface_ | No | | +| **Return** | _int_ | | The command exit code | +| **Throws** | _Exception_ | | When binding input fails. Bypass this by calling {@link ignoreValidationErrors()}. | + +```php +public function run(Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output): int +``` + +**Links**: + +- [\Symfony\Component\Console\Command\setCode](../../Symfony/Component/Console/Command/setCode.md#symfony_component_console_command_setcode) +- [\Symfony\Component\Console\Command\execute](../../Symfony/Component/Console/Command/execute.md#symfony_component_console_command_execute) + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:206` + + + +### setCode() + +Sets the code to execute when running this command. + +If this method is used, it overrides the code defined +in the execute() method. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------------- | --------- | ---------------------------------------------------------- | +| `$code` | _callable_ | No | A callable(InputInterface $input, OutputInterface $output) | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | +| **Throws** | _Symfony\Component\Console\Exception\InvalidArgumentException_ | | | + +```php +public function setCode(callable $code): Symfony\Component\Console\Command\Command +``` + +**Links**: + +- [\Symfony\Component\Console\Command\execute](../../Symfony/Component/Console/Command/execute.md#symfony_component_console_command_execute) + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:282` + + + +### mergeApplicationDefinition() + +Merges the application definition with the command definition. + +This method is not part of public API and should not be used directly. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ------ | --------- | -------------------------------------------------------------------------------------------- | +| `$mergeArgs` | _bool_ | No | Whether to merge or not the Application definition arguments to Command definition arguments | + +```php +public function mergeApplicationDefinition(bool $mergeArgs = true) +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:303` + + + +### setDefinition() + +Sets an array of argument and option instances. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------------------------------------------------------------- | --------- | ------------------------------------------------------------------ | +| `$definition` | _mixed[]|Symfony\Component\Console\Input\InputDefinition_ | No | An array of argument and option instances or a definition instance | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | + +```php +public function setDefinition(mixed[]|Symfony\Component\Console\Input\InputDefinition $definition): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:329` + + + +### getDefinition() + +Gets the InputDefinition attached to this Command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------- | --------- | --------------------------- | +| **Return** | _Symfony\Component\Console\Input\InputDefinition_ | | An InputDefinition instance | + +```php +public function getDefinition(): Symfony\Component\Console\Input\InputDefinition +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:347` + + + +### getNativeDefinition() + +Gets the InputDefinition to be used to create representations of this Command. + +Can be overridden to provide the original command representation when it would otherwise +be changed by merging with the application InputDefinition. + +This method is not part of public API and should not be used directly. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------- | --------- | --------------------------- | +| **Return** | _Symfony\Component\Console\Input\InputDefinition_ | | An InputDefinition instance | + +```php +public function getNativeDefinition(): Symfony\Component\Console\Input\InputDefinition +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:366` + + + +### addArgument() + +Adds an argument. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | -------------------------------------------------------------- | --------- | --------------------------------------------------------------------- | +| `$name` | _string_ | No | | +| `$mode` | _int|null_ | No | The argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL | +| `$description` | _string_ | No | | +| `$default` | _string|string[]|null_ | No | The default value (for InputArgument::OPTIONAL mode only) | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | +| **Throws** | _Symfony\Component\Console\Exception\InvalidArgumentException_ | | When argument mode is not valid | + +```php +public function addArgument(string $name, int|null $mode = null, string $description = '', string|string[]|null $default = null): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:381` + + + +### addOption() + +Adds an option. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | -------------------------------------------------------------- | --------- | ---------------------------------------------------------------------------------------------- | +| `$name` | _string_ | No | | +| `$shortcut` | _string|mixed[]|null_ | No | The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts | +| `$mode` | _int|null_ | No | The option mode: One of the InputOption::VALUE\_\* constants | +| `$description` | _string_ | No | | +| `$default` | _string|string[]|int|bool|null_ | No | The default value (must be null for InputOption::VALUE_NONE) | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | +| **Throws** | _Symfony\Component\Console\Exception\InvalidArgumentException_ | | If option mode is invalid or incompatible | + +```php +public function addOption(string $name, string|mixed[]|null $shortcut = null, int|null $mode = null, string $description = '', string|string[]|int|bool|null $default = null): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:399` + + + +### setName() + +Sets the name of the command. + +This method can set both the namespace and the name if +you separate them by a colon (:) + + $command->setName('foo:bar'); + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------------- | --------- | ------------------------ | +| `$name` | _string_ | No | | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | +| **Throws** | _Symfony\Component\Console\Exception\InvalidArgumentException_ | | When the name is invalid | + +```php +public function setName(string $name): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:418` + + + +### setProcessTitle() + +Sets the process title of the command. + +This feature should be used only when creating a long process command, +like a daemon. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------- | --------- | ----------- | +| `$title` | _string_ | No | | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | + +```php +public function setProcessTitle(string $title): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:435` + + + +### getName() + +Returns the command name. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------ | --------- | ----------- | +| **Return** | _string|null_ | | | + +```php +public function getName(): string|null +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:447` + + + +### setHidden() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------- | +| `$hidden` | _bool_ | No | Whether or not the command should be hidden from the list of commands
The default value will be true in Symfony 6.0 | +| **Return** | _Symfony\Component\Console\Command\Command_ | | The current instance | + +```php +public function setHidden(bool $hidden): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:460` + + + +### isHidden() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | --------------------------------------------------- | +| **Return** | _bool_ | | whether the command should be publicly shown or not | + +```php +public function isHidden(): bool +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:470` + + + +### setDescription() + +Sets the description for the command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ------------------------------------------- | --------- | ----------- | +| `$description` | _string_ | No | | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | + +```php +public function setDescription(string $description): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:480` + + + +### getDescription() + +Returns the description for the command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------------- | +| **Return** | _string_ | | The description for the command | + +```php +public function getDescription(): string +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:492` + + + +### setHelp() + +Sets the help for the command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------- | --------- | ----------- | +| `$help` | _string_ | No | | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | + +```php +public function setHelp(string $help): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:502` + + + +### getHelp() + +Returns the help for the command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------ | +| **Return** | _string_ | | The help for the command | + +```php +public function getHelp(): string +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:514` + + + +### getProcessedHelp() + +Returns the processed help for the command replacing the %command.name% and +%command.full_name% patterns with the real values dynamically. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ---------------------------------- | +| **Return** | _string_ | | The processed help for the command | + +```php +public function getProcessedHelp(): string +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:525` + + + +### setAliases() + +Sets the aliases for the command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------------- | --------- | ----------------------------------- | +| `$aliases` | _string[]|iterable_ | No | An array of aliases for the command | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | +| **Throws** | _Symfony\Component\Console\Exception\InvalidArgumentException_ | | When an alias is invalid | + +```php +public function setAliases(string[]|iterable $aliases): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:551` + + + +### getAliases() + +Returns the aliases for the command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------- | --------- | ----------------------------------- | +| **Return** | _mixed[]_ | | An array of aliases for the command | + +```php +public function getAliases(): mixed[] +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:567` + + + +### getSynopsis() + +Returns the synopsis for the command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------------------------------------------------------------ | +| `$short` | _bool_ | No | Whether to show the short version of the synopsis (with options folded) or not | +| **Return** | _string_ | | The synopsis | + +```php +public function getSynopsis(bool $short = false): string +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:579` + + + +### addUsage() + +Add a command usage example, it'll be prefixed with the command name. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------- | --------- | ----------- | +| `$usage` | _string_ | No | | +| **Return** | _Symfony\Component\Console\Command\Command_ | | | + +```php +public function addUsage(string $usage): Symfony\Component\Console\Command\Command +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:595` + + + +### getUsages() + +Returns alternative usages of the command. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------- | --------- | ----------- | +| **Return** | _mixed[]_ | | | + +```php +public function getUsages(): mixed[] +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:611` + + + +### getHelper() + +Gets a helper instance by name. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------------- | --------- | ---------------------------- | +| `$name` | _string_ | No | | +| **Return** | _mixed_ | | The helper value | +| **Throws** | _Symfony\Component\Console\Exception\LogicException_ | | if no HelperSet is defined | +| **Throws** | _Symfony\Component\Console\Exception\InvalidArgumentException_ | | if the helper is not defined | + +```php +public function getHelper(string $name): mixed +``` + +File location: `/var/www/html/vendor/composer/../symfony/console/Command/Command.php:624` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/ConfigProvider.md b/docs/Application/ServiceProviders/ConfigProvider.md new file mode 100644 index 0000000..095f87b --- /dev/null +++ b/docs/Application/ServiceProviders/ConfigProvider.md @@ -0,0 +1,375 @@ +# Class ConfigProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\ConfigProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_configprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_configprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [makeConfig](#spaceonfire_apidoc_application_serviceproviders_configprovider_makeconfig) | _spaceonfire\ApiDoc\Config\Config_ | | [📢](# "Visibility: public") | +| [makePhpParser](#spaceonfire_apidoc_application_serviceproviders_configprovider_makephpparser) | _PhpParser\Parser_ | | [📢](# "Visibility: public") | +| [makeBetterReflection](#spaceonfire_apidoc_application_serviceproviders_configprovider_makebetterreflection) | _Roave\BetterReflection\BetterReflection_ | | [📢](# "Visibility: public") | +| [makeSourceLocator](#spaceonfire_apidoc_application_serviceproviders_configprovider_makesourcelocator) | _Roave\BetterReflection\SourceLocator\Type\SourceLocator_ | | [📢](# "Visibility: public") | +| [makeClassReflector](#spaceonfire_apidoc_application_serviceproviders_configprovider_makeclassreflector) | _Roave\BetterReflection\Reflector\ClassReflector_ | | [📢](# "Visibility: public") | +| [makeFunctionReflector](#spaceonfire_apidoc_application_serviceproviders_configprovider_makefunctionreflector) | _Roave\BetterReflection\Reflector\FunctionReflector_ | | [📢](# "Visibility: public") | +| [makeConstantReflector](#spaceonfire_apidoc_application_serviceproviders_configprovider_makeconstantreflector) | _Roave\BetterReflection\Reflector\ConstantReflector_ | | [📢](# "Visibility: public") | +| [makeFilenameStrategy](#spaceonfire_apidoc_application_serviceproviders_configprovider_makefilenamestrategy) | _spaceonfire\ApiDoc\Generator\FileNameStrategyInterface_ | | [📢](# "Visibility: public") | +| [makePersister](#spaceonfire_apidoc_application_serviceproviders_configprovider_makepersister) | _spaceonfire\ApiDoc\Generator\PersisterInterface_ | | [📢](# "Visibility: public") | +| [makeTwig](#spaceonfire_apidoc_application_serviceproviders_configprovider_maketwig) | _Twig\Environment_ | | [📢](# "Visibility: public") | +| [makeExampleCodeSnippetResolver](#spaceonfire_apidoc_application_serviceproviders_configprovider_makeexamplecodesnippetresolver) | _spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver_ | | [📢](# "Visibility: public") | +| [makeLocationFactory](#spaceonfire_apidoc_application_serviceproviders_configprovider_makelocationfactory) | _spaceonfire\ApiDoc\Element\Location\LocationFactory_ | | [📢](# "Visibility: public") | +| [makeClassMembersVisibilityFilter](#spaceonfire_apidoc_application_serviceproviders_configprovider_makeclassmembersvisibilityfilter) | _spaceonfire\ApiDoc\Element\ValueObject\ClassMembersVisibilityFilter_ | | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:55` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:79` + + + +### makeConfig() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Config\Config_ | | | + +```php +public function makeConfig(): spaceonfire\ApiDoc\Config\Config +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:100` + + + +### makePhpParser() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _PhpParser\Parser_ | | | + +```php +public function makePhpParser(spaceonfire\ApiDoc\Config\Config $config): PhpParser\Parser +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:160` + + + +### makeBetterReflection() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------- | --------- | ----------- | +| `$phpParser` | _PhpParser\Parser_ | No | | +| **Return** | _Roave\BetterReflection\BetterReflection_ | | | + +```php +public function makeBetterReflection(PhpParser\Parser $phpParser): Roave\BetterReflection\BetterReflection +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:170` + + + +### makeSourceLocator() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | --------------------------------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| `$betterReflection` | _Roave\BetterReflection\BetterReflection_ | No | | +| **Return** | _Roave\BetterReflection\SourceLocator\Type\SourceLocator_ | | | + +```php +public function makeSourceLocator(spaceonfire\ApiDoc\Config\Config $config, Roave\BetterReflection\BetterReflection $betterReflection): Roave\BetterReflection\SourceLocator\Type\SourceLocator +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:181` + + + +### makeClassReflector() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------------- | --------------------------------------------------------- | --------- | ----------- | +| `$sourceLocator` | _Roave\BetterReflection\SourceLocator\Type\SourceLocator_ | No | | +| **Return** | _Roave\BetterReflection\Reflector\ClassReflector_ | | | + +```php +public function makeClassReflector(Roave\BetterReflection\SourceLocator\Type\SourceLocator $sourceLocator): Roave\BetterReflection\Reflector\ClassReflector +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:210` + + + +### makeFunctionReflector() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------------- | --------------------------------------------------------- | --------- | ----------- | +| `$sourceLocator` | _Roave\BetterReflection\SourceLocator\Type\SourceLocator_ | No | | +| `$classReflector` | _Roave\BetterReflection\Reflector\ClassReflector_ | No | | +| **Return** | _Roave\BetterReflection\Reflector\FunctionReflector_ | | | + +```php +public function makeFunctionReflector(Roave\BetterReflection\SourceLocator\Type\SourceLocator $sourceLocator, Roave\BetterReflection\Reflector\ClassReflector $classReflector): Roave\BetterReflection\Reflector\FunctionReflector +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:215` + + + +### makeConstantReflector() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------------- | --------------------------------------------------------- | --------- | ----------- | +| `$sourceLocator` | _Roave\BetterReflection\SourceLocator\Type\SourceLocator_ | No | | +| `$classReflector` | _Roave\BetterReflection\Reflector\ClassReflector_ | No | | +| **Return** | _Roave\BetterReflection\Reflector\ConstantReflector_ | | | + +```php +public function makeConstantReflector(Roave\BetterReflection\SourceLocator\Type\SourceLocator $sourceLocator, Roave\BetterReflection\Reflector\ClassReflector $classReflector): Roave\BetterReflection\Reflector\ConstantReflector +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:222` + + + +### makeFilenameStrategy() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _spaceonfire\ApiDoc\Generator\FileNameStrategyInterface_ | | | + +```php +public function makeFilenameStrategy(spaceonfire\ApiDoc\Config\Config $config): spaceonfire\ApiDoc\Generator\FileNameStrategyInterface +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:229` + + + +### makePersister() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _spaceonfire\ApiDoc\Generator\PersisterInterface_ | | | + +```php +public function makePersister(spaceonfire\ApiDoc\Config\Config $config): spaceonfire\ApiDoc\Generator\PersisterInterface +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:234` + + + +### makeTwig() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _Twig\Environment_ | | | + +```php +public function makeTwig(spaceonfire\ApiDoc\Config\Config $config): Twig\Environment +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:239` + + + +### makeExampleCodeSnippetResolver() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver_ | | | + +```php +public function makeExampleCodeSnippetResolver(spaceonfire\ApiDoc\Config\Config $config): spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:255` + + + +### makeLocationFactory() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\Location\LocationFactory_ | | | + +```php +public function makeLocationFactory(spaceonfire\ApiDoc\Config\Config $config): spaceonfire\ApiDoc\Element\Location\LocationFactory +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:260` + + + +### makeClassMembersVisibilityFilter() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\ClassMembersVisibilityFilter_ | | | + +```php +public function makeClassMembersVisibilityFilter(spaceonfire\ApiDoc\Config\Config $config): spaceonfire\ApiDoc\Element\ValueObject\ClassMembersVisibilityFilter +``` + +File location: `Application/ServiceProviders/ConfigProvider.php:265` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/ConsoleCommandsProvider.md b/docs/Application/ServiceProviders/ConsoleCommandsProvider.md new file mode 100644 index 0000000..779a2e2 --- /dev/null +++ b/docs/Application/ServiceProviders/ConsoleCommandsProvider.md @@ -0,0 +1,139 @@ +# Class ConsoleCommandsProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\ConsoleCommandsProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_consolecommandsprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_consolecommandsprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/ConsoleCommandsProvider.php:20` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/ConsoleCommandsProvider.php:31` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/DefaultApiDocGeneratorProvider.md b/docs/Application/ServiceProviders/DefaultApiDocGeneratorProvider.md new file mode 100644 index 0000000..8ded545 --- /dev/null +++ b/docs/Application/ServiceProviders/DefaultApiDocGeneratorProvider.md @@ -0,0 +1,139 @@ +# Class DefaultApiDocGeneratorProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\DefaultApiDocGeneratorProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_defaultapidocgeneratorprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_defaultapidocgeneratorprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/DefaultApiDocGeneratorProvider.php:20` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/DefaultApiDocGeneratorProvider.php:32` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/DefaultRendererProvider.md b/docs/Application/ServiceProviders/DefaultRendererProvider.md new file mode 100644 index 0000000..fbe2c64 --- /dev/null +++ b/docs/Application/ServiceProviders/DefaultRendererProvider.md @@ -0,0 +1,139 @@ +# Class DefaultRendererProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\DefaultRendererProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_defaultrendererprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_defaultrendererprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/DefaultRendererProvider.php:24` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/DefaultRendererProvider.php:34` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/DocBlockResolverProvider.md b/docs/Application/ServiceProviders/DocBlockResolverProvider.md new file mode 100644 index 0000000..270b4b6 --- /dev/null +++ b/docs/Application/ServiceProviders/DocBlockResolverProvider.md @@ -0,0 +1,139 @@ +# Class DocBlockResolverProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\DocBlockResolverProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_docblockresolverprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_docblockresolverprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/DocBlockResolverProvider.php:25` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/DocBlockResolverProvider.php:37` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/ElementFactoryProvider.md b/docs/Application/ServiceProviders/ElementFactoryProvider.md new file mode 100644 index 0000000..52fa83c --- /dev/null +++ b/docs/Application/ServiceProviders/ElementFactoryProvider.md @@ -0,0 +1,139 @@ +# Class ElementFactoryProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\ElementFactoryProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_elementfactoryprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_elementfactoryprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/ElementFactoryProvider.php:21` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/ElementFactoryProvider.php:31` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/FallbackBetterReflectionProvider.md b/docs/Application/ServiceProviders/FallbackBetterReflectionProvider.md new file mode 100644 index 0000000..8497507 --- /dev/null +++ b/docs/Application/ServiceProviders/FallbackBetterReflectionProvider.md @@ -0,0 +1,139 @@ +# Class FallbackBetterReflectionProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\FallbackBetterReflectionProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_fallbackbetterreflectionprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_fallbackbetterreflectionprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/FallbackBetterReflectionProvider.php:16` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/FallbackBetterReflectionProvider.php:26` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/LinkServiceProvider.md b/docs/Application/ServiceProviders/LinkServiceProvider.md new file mode 100644 index 0000000..8034a8c --- /dev/null +++ b/docs/Application/ServiceProviders/LinkServiceProvider.md @@ -0,0 +1,139 @@ +# Class LinkServiceProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\LinkServiceProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_linkserviceprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_linkserviceprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/LinkServiceProvider.php:18` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/LinkServiceProvider.php:28` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/SignatureRendererProvider.md b/docs/Application/ServiceProviders/SignatureRendererProvider.md new file mode 100644 index 0000000..27854a6 --- /dev/null +++ b/docs/Application/ServiceProviders/SignatureRendererProvider.md @@ -0,0 +1,139 @@ +# Class SignatureRendererProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\SignatureRendererProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_signaturerendererprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_signaturerendererprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/SignatureRendererProvider.php:19` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/SignatureRendererProvider.php:29` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/TranslatorProvider.md b/docs/Application/ServiceProviders/TranslatorProvider.md new file mode 100644 index 0000000..f49e295 --- /dev/null +++ b/docs/Application/ServiceProviders/TranslatorProvider.md @@ -0,0 +1,157 @@ +# Class TranslatorProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\TranslatorProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_translatorprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_translatorprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [makeTranslator](#spaceonfire_apidoc_application_serviceproviders_translatorprovider_maketranslator) | _Symfony\Contracts\Translation\TranslatorInterface_ | | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/TranslatorProvider.php:27` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/TranslatorProvider.php:38` + + + +### makeTranslator() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _Symfony\Contracts\Translation\TranslatorInterface_ | | | + +```php +public function makeTranslator(spaceonfire\ApiDoc\Config\Config $config): Symfony\Contracts\Translation\TranslatorInterface +``` + +File location: `Application/ServiceProviders/TranslatorProvider.php:44` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Application/ServiceProviders/TypeFactoryProvider.md b/docs/Application/ServiceProviders/TypeFactoryProvider.md new file mode 100644 index 0000000..40bd481 --- /dev/null +++ b/docs/Application/ServiceProviders/TypeFactoryProvider.md @@ -0,0 +1,139 @@ +# Class TypeFactoryProvider + +Full name: `spaceonfire\ApiDoc\Application\ServiceProviders\TypeFactoryProvider` + +Parent class name: `spaceonfire\Container\ServiceProvider\AbstractServiceProvider` + +This class implements: + +- `spaceonfire\Container\ServiceProvider\ServiceProviderInterface` +- `spaceonfire\Container\ContainerAwareInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [provides](#spaceonfire_apidoc_application_serviceproviders_typefactoryprovider_provides) | _string[]|array_ | Returns list of services provided by current provider. | [📢](# "Visibility: public") | +| [register](#spaceonfire_apidoc_application_serviceproviders_typefactoryprovider_register) | _void_ | Use the register method to register items with the container. | [📢](# "Visibility: public") | +| [setIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_setidentifier) | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | Set a custom id for the service provider. This allows to register the same service provider multiple times. | [📢](# "Visibility: public") | +| [getIdentifier](#spaceonfire_container_serviceprovider_abstractserviceprovider_getidentifier) | _string_ | The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been
registered. Defaults to class name of provider. | [📢](# "Visibility: public") | +| [setContainer](#spaceonfire_container_containerawaretrait_setcontainer) | _spaceonfire\Container\ContainerAwareInterface_ | | [📢](# "Visibility: public") | +| [getContainer](#spaceonfire_container_containerawaretrait_getcontainer) | _spaceonfire\Container\ContainerInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### provides() + +Returns list of services provided by current provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------- | --------- | ----------- | +| **Return** | _string[]|array_ | | | + +```php +public function provides(): string[]|array +``` + +File location: `Application/ServiceProviders/TypeFactoryProvider.php:20` + + + +### register() + +Use the register method to register items with the container. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _void_ | | | + +```php +public function register(): void +``` + +File location: `Application/ServiceProviders/TypeFactoryProvider.php:30` + + + +### setIdentifier() + +Set a custom id for the service provider. This allows to register the same service provider multiple times. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$id` | _string_ | No | | +| **Return** | _spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface_ | | | + +```php +public function setIdentifier(string $id): spaceonfire\Container\ServiceProvider\AbstractServiceProvider|spaceonfire\Container\ServiceProvider\ServiceProviderInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:21` + + + +### getIdentifier() + +The id of the service provider uniquely identifies it, so that we can quickly determine if it has already been +registered. Defaults to class name of provider. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getIdentifier(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ServiceProvider/AbstractServiceProvider.php:30` + + + +### setContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ----------------------------------------------- | --------- | ----------- | +| `$container` | _spaceonfire\Container\ContainerInterface_ | No | | +| **Return** | _spaceonfire\Container\ContainerAwareInterface_ | | | + +```php +public function setContainer(spaceonfire\Container\ContainerInterface $container): spaceonfire\Container\ContainerAwareInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:17` + + + +### getContainer() + +@inheritdoc + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _spaceonfire\Container\ContainerInterface_ | | | + +```php +public function getContainer(): spaceonfire\Container\ContainerInterface +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/container/src/ContainerAwareTrait.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Config/Config.md b/docs/Config/Config.md new file mode 100644 index 0000000..6e7e7fc --- /dev/null +++ b/docs/Config/Config.md @@ -0,0 +1,303 @@ +# Class Config + +Full name: `spaceonfire\ApiDoc\Config\Config` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------- | ----------------------------------------- | ------- | ---------------------------- | +| _Properties_ | | | | +| [\$projectName](#spaceonfire_apidoc_config_config_$projectname) | _string_ | | [📢](# "Visibility: public") | +| [\$sourceDirectories](#spaceonfire_apidoc_config_config_$sourcedirectories) | _string[]_ | | [📢](# "Visibility: public") | +| [\$outputDirectory](#spaceonfire_apidoc_config_config_$outputdirectory) | _string_ | | [📢](# "Visibility: public") | +| [\$scanDirectories](#spaceonfire_apidoc_config_config_$scandirectories) | _string[]_ | | [📢](# "Visibility: public") | +| [\$scanFiles](#spaceonfire_apidoc_config_config_$scanfiles) | _string[]_ | | [📢](# "Visibility: public") | +| [\$phpVersion](#spaceonfire_apidoc_config_config_$phpversion) | _string_ | | [📢](# "Visibility: public") | +| [\$baseNamespace](#spaceonfire_apidoc_config_config_$basenamespace) | _string_ | | [📢](# "Visibility: public") | +| [\$fileExtension](#spaceonfire_apidoc_config_config_$fileextension) | _string_ | | [📢](# "Visibility: public") | +| [\$twigTemplatesPath](#spaceonfire_apidoc_config_config_$twigtemplatespath) | _string_ | | [📢](# "Visibility: public") | +| [\$twigOptions](#spaceonfire_apidoc_config_config_$twigoptions) | _array_ | | [📢](# "Visibility: public") | +| [\$locale](#spaceonfire_apidoc_config_config_$locale) | _string_ | | [📢](# "Visibility: public") | +| [\$translations](#spaceonfire_apidoc_config_config_$translations) | _array_ | | [📢](# "Visibility: public") | +| [\$examplesDirectories](#spaceonfire_apidoc_config_config_$examplesdirectories) | _string[]_ | | [📢](# "Visibility: public") | +| [\$visibility](#spaceonfire_apidoc_config_config_$visibility) | _string[]_ | | [📢](# "Visibility: public") | +| [\$constantsVisibility](#spaceonfire_apidoc_config_config_$constantsvisibility) | _string[]_ | | [📢](# "Visibility: public") | +| [\$propertiesVisibility](#spaceonfire_apidoc_config_config_$propertiesvisibility) | _string[]_ | | [📢](# "Visibility: public") | +| [\$methodsVisibility](#spaceonfire_apidoc_config_config_$methodsvisibility) | _string[]_ | | [📢](# "Visibility: public") | +| [\$composerClassLoader](#spaceonfire_apidoc_config_config_$composerclassloader) | _Composer\Autoload\ClassLoader|null_ | | [📢](# "Visibility: public") | + +## Properties + + + +### \$projectName + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $projectName +``` + +File location: `Config/Config.php:14` + + + +### \$sourceDirectories + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: none + +```php +public string[] $sourceDirectories +``` + +File location: `Config/Config.php:18` + + + +### \$outputDirectory + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $outputDirectory +``` + +File location: `Config/Config.php:22` + + + +### \$scanDirectories + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: `[]` + +```php +public string[] $scanDirectories = [] +``` + +File location: `Config/Config.php:26` + + + +### \$scanFiles + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: `[]` + +```php +public string[] $scanFiles = [] +``` + +File location: `Config/Config.php:30` + + + +### \$phpVersion + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $phpVersion +``` + +File location: `Config/Config.php:34` + + + +### \$baseNamespace + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $baseNamespace +``` + +File location: `Config/Config.php:38` + + + +### \$fileExtension + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $fileExtension +``` + +File location: `Config/Config.php:42` + + + +### \$twigTemplatesPath + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $twigTemplatesPath +``` + +File location: `Config/Config.php:46` + + + +### \$twigOptions + +- **Visibility**: public +- **Static**: No +- **Type**: _array_ +- **Default value**: `[]` + +```php +public array $twigOptions = [] +``` + +File location: `Config/Config.php:50` + + + +### \$locale + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $locale +``` + +File location: `Config/Config.php:54` + + + +### \$translations + +- **Visibility**: public +- **Static**: No +- **Type**: _array_ +- **Default value**: `[]` + +```php +public array $translations = [] +``` + +File location: `Config/Config.php:58` + + + +### \$examplesDirectories + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: none + +```php +public string[] $examplesDirectories +``` + +File location: `Config/Config.php:62` + + + +### \$visibility + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: `[]` + +```php +public string[] $visibility = [] +``` + +File location: `Config/Config.php:66` + + + +### \$constantsVisibility + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: `[]` + +```php +public string[] $constantsVisibility = [] +``` + +File location: `Config/Config.php:70` + + + +### \$propertiesVisibility + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: `[]` + +```php +public string[] $propertiesVisibility = [] +``` + +File location: `Config/Config.php:74` + + + +### \$methodsVisibility + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: `[]` + +```php +public string[] $methodsVisibility = [] +``` + +File location: `Config/Config.php:78` + + + +### \$composerClassLoader + +- **Visibility**: public +- **Static**: No +- **Type**: _Composer\Autoload\ClassLoader|null_ +- **Default value**: none + +```php +public Composer\Autoload\ClassLoader|null $composerClassLoader +``` + +File location: `Config/Config.php:82` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Config/Processor/BuilderProcessor.md b/docs/Config/Processor/BuilderProcessor.md new file mode 100644 index 0000000..646334a --- /dev/null +++ b/docs/Config/Processor/BuilderProcessor.md @@ -0,0 +1,424 @@ +# Class BuilderProcessor + +Full name: `spaceonfire\ApiDoc\Config\Processor\BuilderProcessor` + +This class implements: `spaceonfire\ApiDoc\Config\Processor\ProcessorInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ------- | ---------------------------- | +| _Properties_ | | | | +| [\$examplesDirectories](#spaceonfire_apidoc_config_processor_builderprocessor_$examplesdirectories) | _string[]_ | | [📢](# "Visibility: public") | +| [\$visibility](#spaceonfire_apidoc_config_processor_builderprocessor_$visibility) | _string[]_ | | [📢](# "Visibility: public") | +| [\$constantsVisibility](#spaceonfire_apidoc_config_processor_builderprocessor_$constantsvisibility) | _string[]_ | | [📢](# "Visibility: public") | +| [\$propertiesVisibility](#spaceonfire_apidoc_config_processor_builderprocessor_$propertiesvisibility) | _string[]_ | | [📢](# "Visibility: public") | +| [\$methodsVisibility](#spaceonfire_apidoc_config_processor_builderprocessor_$methodsvisibility) | _string[]_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [withProjectName](#spaceonfire_apidoc_config_processor_builderprocessor_withprojectname) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withSourceDirectories](#spaceonfire_apidoc_config_processor_builderprocessor_withsourcedirectories) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withOutputDirectory](#spaceonfire_apidoc_config_processor_builderprocessor_withoutputdirectory) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withScanDirectories](#spaceonfire_apidoc_config_processor_builderprocessor_withscandirectories) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withScanFiles](#spaceonfire_apidoc_config_processor_builderprocessor_withscanfiles) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withPhpVersion](#spaceonfire_apidoc_config_processor_builderprocessor_withphpversion) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withBaseNamespace](#spaceonfire_apidoc_config_processor_builderprocessor_withbasenamespace) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withFileExtension](#spaceonfire_apidoc_config_processor_builderprocessor_withfileextension) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withTwigTemplatesPath](#spaceonfire_apidoc_config_processor_builderprocessor_withtwigtemplatespath) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withTwigOptions](#spaceonfire_apidoc_config_processor_builderprocessor_withtwigoptions) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withLocale](#spaceonfire_apidoc_config_processor_builderprocessor_withlocale) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withTranslations](#spaceonfire_apidoc_config_processor_builderprocessor_withtranslations) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withExamplesDirectories](#spaceonfire_apidoc_config_processor_builderprocessor_withexamplesdirectories) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withVisibility](#spaceonfire_apidoc_config_processor_builderprocessor_withvisibility) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withConstantsVisibility](#spaceonfire_apidoc_config_processor_builderprocessor_withconstantsvisibility) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withPropertiesVisibility](#spaceonfire_apidoc_config_processor_builderprocessor_withpropertiesvisibility) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [withMethodsVisibility](#spaceonfire_apidoc_config_processor_builderprocessor_withmethodsvisibility) | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | [📢](# "Visibility: public") | +| [process](#spaceonfire_apidoc_config_processor_builderprocessor_process) | _void_ | | [📢](# "Visibility: public") | + +## Properties + + + +### \$examplesDirectories + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: `[]` + +```php +public string[] $examplesDirectories = [] +``` + +File location: `Config/Processor/BuilderProcessor.php:66` + + + +### \$visibility + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: none + +```php +public string[] $visibility +``` + +File location: `Config/Processor/BuilderProcessor.php:70` + + + +### \$constantsVisibility + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: none + +```php +public string[] $constantsVisibility +``` + +File location: `Config/Processor/BuilderProcessor.php:74` + + + +### \$propertiesVisibility + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: none + +```php +public string[] $propertiesVisibility +``` + +File location: `Config/Processor/BuilderProcessor.php:78` + + + +### \$methodsVisibility + +- **Visibility**: public +- **Static**: No +- **Type**: _string[]_ +- **Default value**: none + +```php +public string[] $methodsVisibility +``` + +File location: `Config/Processor/BuilderProcessor.php:82` + +## Methods + + + +### withProjectName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ------------------------------------------------------ | --------- | ----------- | +| `$projectName` | _string_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withProjectName(string $projectName): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:84` + + + +### withSourceDirectories() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | ------------------------------------------------------ | --------- | ----------- | +| `$sourceDirectories` | _string[]|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withSourceDirectories(string[]|array $sourceDirectories): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:95` + + + +### withOutputDirectory() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | ------------------------------------------------------ | --------- | ----------- | +| `$outputDirectory` | _string_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withOutputDirectory(string $outputDirectory): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:103` + + + +### withScanDirectories() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | ------------------------------------------------------ | --------- | ----------- | +| `$scanDirectories` | _string[]|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withScanDirectories(string[]|array $scanDirectories): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:114` + + + +### withScanFiles() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ------------------------------------------------------ | --------- | ----------- | +| `$scanFiles` | _string[]|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withScanFiles(string[]|array $scanFiles): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:126` + + + +### withPhpVersion() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ------------------------------------------------------ | --------- | ----------- | +| `$phpVersion` | _string_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withPhpVersion(string $phpVersion): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:134` + + + +### withBaseNamespace() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------------- | ------------------------------------------------------ | --------- | ----------- | +| `$baseNamespace` | _string_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withBaseNamespace(string $baseNamespace): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:141` + + + +### withFileExtension() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------------- | ------------------------------------------------------ | --------- | ----------- | +| `$fileExtension` | _string_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withFileExtension(string $fileExtension): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:148` + + + +### withTwigTemplatesPath() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | ------------------------------------------------------ | --------- | ----------- | +| `$twigTemplatesPath` | _string_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withTwigTemplatesPath(string $twigTemplatesPath): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:155` + + + +### withTwigOptions() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ------------------------------------------------------ | --------- | ----------- | +| `$twigOptions` | _array|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withTwigOptions(array|array $twigOptions): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:166` + + + +### withLocale() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | ----------- | +| `$locale` | _string_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withLocale(string $locale): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:173` + + + +### withTranslations() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ------------------------------------------------------ | --------- | ----------- | +| `$translations` | _array|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withTranslations(array|array $translations): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:184` + + + +### withExamplesDirectories() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------------------- | ------------------------------------------------------ | --------- | ----------- | +| `$examplesDirectories` | _string[]|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withExamplesDirectories(string[]|array $examplesDirectories): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:197` + + + +### withVisibility() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ------------------------------------------------------ | --------- | ----------- | +| `$visibility` | _string[]|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withVisibility(string[]|array $visibility): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:209` + + + +### withConstantsVisibility() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------------------- | ------------------------------------------------------ | --------- | ----------- | +| `$constantsVisibility` | _string[]|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withConstantsVisibility(string[]|array $constantsVisibility): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:221` + + + +### withPropertiesVisibility() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------------------- | ------------------------------------------------------ | --------- | ----------- | +| `$propertiesVisibility` | _string[]|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withPropertiesVisibility(string[]|array $propertiesVisibility): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:233` + + + +### withMethodsVisibility() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | ------------------------------------------------------ | --------- | ----------- | +| `$methodsVisibility` | _string[]|array_ | No | | +| **Return** | _spaceonfire\ApiDoc\Config\Processor\BuilderProcessor_ | | | + +```php +public function withMethodsVisibility(string[]|array $methodsVisibility): spaceonfire\ApiDoc\Config\Processor\BuilderProcessor +``` + +File location: `Config/Processor/BuilderProcessor.php:245` + + + +### process() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _void_ | | | + +```php +public function process(spaceonfire\ApiDoc\Config\Config $config): void +``` + +File location: `Config/Processor/BuilderProcessor.php:253` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Config/Processor/ComposerJsonProcessor.md b/docs/Config/Processor/ComposerJsonProcessor.md new file mode 100644 index 0000000..397aef1 --- /dev/null +++ b/docs/Config/Processor/ComposerJsonProcessor.md @@ -0,0 +1,56 @@ +# Class ComposerJsonProcessor + +Full name: `spaceonfire\ApiDoc\Config\Processor\ComposerJsonProcessor` + +This class implements: `spaceonfire\ApiDoc\Config\Processor\ProcessorInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | ------ | ---------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_config_processor_composerjsonprocessor_construct) | | ComposerJsonProcessor constructor. | [📢](# "Visibility: public") | +| [process](#spaceonfire_apidoc_config_processor_composerjsonprocessor_process) | _void_ | Process config | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +ComposerJsonProcessor constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | -------- | --------- | ----------- | +| `$composerJsonPath` | _string_ | No | | + +```php +public function __construct(string $composerJsonPath) +``` + +File location: `Config/Processor/ComposerJsonProcessor.php:26` + + + +### process() + +Process config + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _void_ | | | + +```php +public function process(spaceonfire\ApiDoc\Config\Config $config): void +``` + +File location: `Config/Processor/ComposerJsonProcessor.php:54` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Config/Processor/ConfigFileProcessor.md b/docs/Config/Processor/ConfigFileProcessor.md new file mode 100644 index 0000000..1b408b2 --- /dev/null +++ b/docs/Config/Processor/ConfigFileProcessor.md @@ -0,0 +1,67 @@ +# Class ConfigFileProcessor + +Full name: `spaceonfire\ApiDoc\Config\Processor\ConfigFileProcessor` + +This class implements: `spaceonfire\ApiDoc\Config\Processor\ProcessorInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------------------------- | ------ | -------------- | ---------------------------- | +| _Constants_ | | | | +| [DEFAULT_CONFIG_FILENAME](#spaceonfire_apidoc_config_processor_configfileprocessor_default_config_filename) | | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_config_processor_configfileprocessor_construct) | | | [📢](# "Visibility: public") | +| [process](#spaceonfire_apidoc_config_processor_configfileprocessor_process) | _void_ | Process config | [📢](# "Visibility: public") | + +## Constants + + + +### DEFAULT_CONFIG_FILENAME + +- **Visibility**: public +- **Value**: `'.apidocrc.php'` + +File location: `Config/Processor/ConfigFileProcessor.php:12` + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------------- | -------- | --------- | ----------- | +| `$configFilename` | _string_ | No | | + +```php +public function __construct(string $configFilename) +``` + +File location: `Config/Processor/ConfigFileProcessor.php:19` + + + +### process() + +Process config + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _void_ | | | + +```php +public function process(spaceonfire\ApiDoc\Config\Config $config): void +``` + +File location: `Config/Processor/ConfigFileProcessor.php:36` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Config/Processor/ConsoleInputProcessor.md b/docs/Config/Processor/ConsoleInputProcessor.md new file mode 100644 index 0000000..b50225b --- /dev/null +++ b/docs/Config/Processor/ConsoleInputProcessor.md @@ -0,0 +1,75 @@ +# Class ConsoleInputProcessor + +Full name: `spaceonfire\ApiDoc\Config\Processor\ConsoleInputProcessor` + +This class implements: `spaceonfire\ApiDoc\Config\Processor\ProcessorInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------------- | ------ | ---------------------------------- | ----------------------------------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_config_processor_consoleinputprocessor_construct) | | ConsoleInputProcessor constructor. | [📢](# "Visibility: public") | +| [process](#spaceonfire_apidoc_config_processor_consoleinputprocessor_process) | _void_ | Process config | [📢](# "Visibility: public") | +| [configureCommand](#spaceonfire_apidoc_config_processor_consoleinputprocessor_configurecommand) | _void_ | | [🇸](# "Static element") [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +ConsoleInputProcessor constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------- | ------------------------------------------------ | --------- | ----------- | +| `$input` | _Symfony\Component\Console\Input\InputInterface_ | No | | + +```php +public function __construct(Symfony\Component\Console\Input\InputInterface $input) +``` + +File location: `Config/Processor/ConsoleInputProcessor.php:25` + + + +### process() + +Process config + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _void_ | | | + +```php +public function process(spaceonfire\ApiDoc\Config\Config $config): void +``` + +File location: `Config/Processor/ConsoleInputProcessor.php:33` + + + +### configureCommand() + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------- | --------- | ----------- | +| `$command` | _Symfony\Component\Console\Command\Command_ | No | | +| **Return** | _void_ | | | + +```php +public static function configureCommand(Symfony\Component\Console\Command\Command $command): void +``` + +File location: `Config/Processor/ConsoleInputProcessor.php:65` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Config/Processor/DefaultsProcessor.md b/docs/Config/Processor/DefaultsProcessor.md new file mode 100644 index 0000000..8eeaa46 --- /dev/null +++ b/docs/Config/Processor/DefaultsProcessor.md @@ -0,0 +1,56 @@ +# Class DefaultsProcessor + +Full name: `spaceonfire\ApiDoc\Config\Processor\DefaultsProcessor` + +This class implements: `spaceonfire\ApiDoc\Config\Processor\ProcessorInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------- | ------ | ------------------------------ | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_config_processor_defaultsprocessor_construct) | | DefaultsProcessor constructor. | [📢](# "Visibility: public") | +| [process](#spaceonfire_apidoc_config_processor_defaultsprocessor_process) | _void_ | Process config | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +DefaultsProcessor constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------- | ------ | --------- | ----------- | +| `$debug` | _bool_ | No | | + +```php +public function __construct(bool $debug = false) +``` + +File location: `Config/Processor/DefaultsProcessor.php:23` + + + +### process() + +Process config + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _void_ | | | + +```php +public function process(spaceonfire\ApiDoc\Config\Config $config): void +``` + +File location: `Config/Processor/DefaultsProcessor.php:31` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Config/Processor/ProcessorInterface.md b/docs/Config/Processor/ProcessorInterface.md new file mode 100644 index 0000000..13be412 --- /dev/null +++ b/docs/Config/Processor/ProcessorInterface.md @@ -0,0 +1,36 @@ +# Interface ProcessorInterface + +Full name: `spaceonfire\ApiDoc\Config\Processor\ProcessorInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------- | ------ | -------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [process](#spaceonfire_apidoc_config_processor_processorinterface_process) | _void_ | Process config | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### process() + +Process config + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------- | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _void_ | | | + +```php +abstract public function process(spaceonfire\ApiDoc\Config\Config $config): void +``` + +File location: `Config/Processor/ProcessorInterface.php:15` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/AbstractElement.md b/docs/Element/AbstractElement.md new file mode 100644 index 0000000..e3c74b3 --- /dev/null +++ b/docs/Element/AbstractElement.md @@ -0,0 +1,146 @@ +# Class AbstractElement + +Full name: `spaceonfire\ApiDoc\Element\AbstractElement` + +This class implements: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------- | -------------------------------------------------------- | ------- | ---------------------------------------------------- | +| _Properties_ | | | | +| [\$name](#spaceonfire_apidoc_element_abstractelement_$name) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [\$summary](#spaceonfire_apidoc_element_abstractelement_$summary) | _string_ | | [📢](# "Visibility: public") | +| [\$description](#spaceonfire_apidoc_element_abstractelement_$description) | _string_ | | [📢](# "Visibility: public") | +| [\$deprecated](#spaceonfire_apidoc_element_abstractelement_$deprecated) | _bool|string_ | | [📢](# "Visibility: public") | +| [\$location](#spaceonfire_apidoc_element_abstractelement_$location) | _spaceonfire\ApiDoc\Element\Location\Location|null_ | | [📢](# "Visibility: public") | +| [\$links](#spaceonfire_apidoc_element_abstractelement_$links) | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ | | [📢](# "Visibility: public") | +| [\$examples](#spaceonfire_apidoc_element_abstractelement_$examples) | _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_abstractelement_construct) | | | [📌](# "Final element") [📢](# "Visibility: public") | + +## Properties + + + +### \$name + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Fqsen $name +``` + +File location: `Element/AbstractElement.php:20` + + + +### \$summary + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $summary +``` + +File location: `Element/AbstractElement.php:24` + + + +### \$description + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $description +``` + +File location: `Element/AbstractElement.php:28` + + + +### \$deprecated + +- **Visibility**: public +- **Static**: No +- **Type**: _bool|string_ +- **Default value**: `false` + +```php +public bool|string $deprecated = false +``` + +File location: `Element/AbstractElement.php:32` + + + +### \$location + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\Location\Location|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\Location\Location|null $location +``` + +File location: `Element/AbstractElement.php:36` + + + +### \$links + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[] $links +``` + +File location: `Element/AbstractElement.php:40` + + + +### \$examples + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Example[] $examples +``` + +File location: `Element/AbstractElement.php:44` + +## Methods + + + +### \_\_construct() + +- **Final method**: Yes +- **Visibility**: public + +```php +final public function __construct() +``` + +File location: `Element/AbstractElement.php:46` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ClassElement.md b/docs/Element/ClassElement.md new file mode 100644 index 0000000..97e909a --- /dev/null +++ b/docs/Element/ClassElement.md @@ -0,0 +1,308 @@ +# Class ClassElement + +Full name: `spaceonfire\ApiDoc\Element\ClassElement` + +Parent class name: `spaceonfire\ApiDoc\Element\AbstractElement` + +This class implements: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------ | -------------------------------------------------------- | ------- | ---------------------------------------------------- | +| _Properties_ | | | | +| [\$name](#spaceonfire_apidoc_element_abstractelement_$name) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [\$summary](#spaceonfire_apidoc_element_abstractelement_$summary) | _string_ | | [📢](# "Visibility: public") | +| [\$description](#spaceonfire_apidoc_element_abstractelement_$description) | _string_ | | [📢](# "Visibility: public") | +| [\$deprecated](#spaceonfire_apidoc_element_abstractelement_$deprecated) | _bool|string_ | | [📢](# "Visibility: public") | +| [\$location](#spaceonfire_apidoc_element_abstractelement_$location) | _spaceonfire\ApiDoc\Element\Location\Location|null_ | | [📢](# "Visibility: public") | +| [\$links](#spaceonfire_apidoc_element_abstractelement_$links) | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ | | [📢](# "Visibility: public") | +| [\$examples](#spaceonfire_apidoc_element_abstractelement_$examples) | _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ | | [📢](# "Visibility: public") | +| [\$abstract](#spaceonfire_apidoc_element_classelement_$abstract) | _bool_ | | [📢](# "Visibility: public") | +| [\$final](#spaceonfire_apidoc_element_classelement_$final) | _bool_ | | [📢](# "Visibility: public") | +| [\$constants](#spaceonfire_apidoc_element_classelement_$constants) | _spaceonfire\ApiDoc\Element\ConstantElement[]_ | | [📢](# "Visibility: public") | +| [\$properties](#spaceonfire_apidoc_element_classelement_$properties) | _spaceonfire\ApiDoc\Element\PropertyElement[]_ | | [📢](# "Visibility: public") | +| [\$methods](#spaceonfire_apidoc_element_classelement_$methods) | _spaceonfire\ApiDoc\Element\MethodElement[]_ | | [📢](# "Visibility: public") | +| [\$magicProperties](#spaceonfire_apidoc_element_classelement_$magicproperties) | _spaceonfire\ApiDoc\Element\PropertyElement[]_ | | [📢](# "Visibility: public") | +| [\$magicMethods](#spaceonfire_apidoc_element_classelement_$magicmethods) | _spaceonfire\ApiDoc\Element\MethodElement[]_ | | [📢](# "Visibility: public") | +| [\$parent](#spaceonfire_apidoc_element_classelement_$parent) | _spaceonfire\ApiDoc\Element\ClassElement|null_ | | [📢](# "Visibility: public") | +| [\$interfaces](#spaceonfire_apidoc_element_classelement_$interfaces) | _spaceonfire\ApiDoc\Element\InterfaceElement[]_ | | [📢](# "Visibility: public") | +| [\$traits](#spaceonfire_apidoc_element_classelement_$traits) | _spaceonfire\ApiDoc\Element\TraitElement[]_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_abstractelement_construct) | | | [📌](# "Final element") [📢](# "Visibility: public") | + +## Properties + + + +### \$name + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Fqsen $name +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:20` + + + +### \$summary + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $summary +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:24` + + + +### \$description + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $description +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:28` + + + +### \$deprecated + +- **Visibility**: public +- **Static**: No +- **Type**: _bool|string_ +- **Default value**: `false` + +```php +public bool|string $deprecated = false +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:32` + + + +### \$location + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\Location\Location|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\Location\Location|null $location +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:36` + + + +### \$links + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[] $links +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:40` + + + +### \$examples + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Example[] $examples +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:44` + + + +### \$abstract + +- **Visibility**: public +- **Static**: No +- **Type**: _bool_ +- **Default value**: none + +```php +public bool $abstract +``` + +File location: `Element/ClassElement.php:17` + + + +### \$final + +- **Visibility**: public +- **Static**: No +- **Type**: _bool_ +- **Default value**: none + +```php +public bool $final +``` + +File location: `Element/ClassElement.php:21` + + + +### \$constants + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ConstantElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ConstantElement[] $constants +``` + +File location: `Element/ClassElement.php:25` + + + +### \$properties + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\PropertyElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\PropertyElement[] $properties +``` + +File location: `Element/ClassElement.php:29` + + + +### \$methods + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\MethodElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\MethodElement[] $methods +``` + +File location: `Element/ClassElement.php:33` + + + +### \$magicProperties + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\PropertyElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\PropertyElement[] $magicProperties +``` + +File location: `Element/ClassElement.php:37` + + + +### \$magicMethods + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\MethodElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\MethodElement[] $magicMethods +``` + +File location: `Element/ClassElement.php:41` + + + +### \$parent + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ClassElement|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ClassElement|null $parent +``` + +File location: `Element/ClassElement.php:45` + + + +### \$interfaces + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\InterfaceElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\InterfaceElement[] $interfaces +``` + +File location: `Element/ClassElement.php:49` + + + +### \$traits + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\TraitElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\TraitElement[] $traits +``` + +File location: `Element/ClassElement.php:53` + +## Methods + + + +### \_\_construct() + +- **Final method**: Yes +- **Visibility**: public + +```php +final public function __construct() +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:46` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ConstantElement.md b/docs/Element/ConstantElement.md new file mode 100644 index 0000000..6adfe35 --- /dev/null +++ b/docs/Element/ConstantElement.md @@ -0,0 +1,180 @@ +# Class ConstantElement + +Full name: `spaceonfire\ApiDoc\Element\ConstantElement` + +Parent class name: `spaceonfire\ApiDoc\Element\AbstractElement` + +This class implements: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------- | ------------------------------------------------------------- | ------- | ---------------------------------------------------- | +| _Properties_ | | | | +| [\$name](#spaceonfire_apidoc_element_abstractelement_$name) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [\$summary](#spaceonfire_apidoc_element_abstractelement_$summary) | _string_ | | [📢](# "Visibility: public") | +| [\$description](#spaceonfire_apidoc_element_abstractelement_$description) | _string_ | | [📢](# "Visibility: public") | +| [\$deprecated](#spaceonfire_apidoc_element_abstractelement_$deprecated) | _bool|string_ | | [📢](# "Visibility: public") | +| [\$location](#spaceonfire_apidoc_element_abstractelement_$location) | _spaceonfire\ApiDoc\Element\Location\Location|null_ | | [📢](# "Visibility: public") | +| [\$links](#spaceonfire_apidoc_element_abstractelement_$links) | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ | | [📢](# "Visibility: public") | +| [\$examples](#spaceonfire_apidoc_element_abstractelement_$examples) | _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ | | [📢](# "Visibility: public") | +| [\$visibility](#spaceonfire_apidoc_element_constantelement_$visibility) | _spaceonfire\ApiDoc\Element\ValueObject\Visibility|null_ | | [📢](# "Visibility: public") | +| [\$value](#spaceonfire_apidoc_element_constantelement_$value) | _spaceonfire\ApiDoc\Element\ValueObject\Value_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_abstractelement_construct) | | | [📌](# "Final element") [📢](# "Visibility: public") | + +## Properties + + + +### \$name + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Fqsen $name +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:20` + + + +### \$summary + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $summary +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:24` + + + +### \$description + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $description +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:28` + + + +### \$deprecated + +- **Visibility**: public +- **Static**: No +- **Type**: _bool|string_ +- **Default value**: `false` + +```php +public bool|string $deprecated = false +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:32` + + + +### \$location + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\Location\Location|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\Location\Location|null $location +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:36` + + + +### \$links + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[] $links +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:40` + + + +### \$examples + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Example[] $examples +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:44` + + + +### \$visibility + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Visibility|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Visibility|null $visibility +``` + +File location: `Element/ConstantElement.php:15` + + + +### \$value + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Value_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Value $value +``` + +File location: `Element/ConstantElement.php:19` + +## Methods + + + +### \_\_construct() + +- **Final method**: Yes +- **Visibility**: public + +```php +final public function __construct() +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:46` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ConstantsAggregate.md b/docs/Element/ConstantsAggregate.md new file mode 100644 index 0000000..aec23d7 --- /dev/null +++ b/docs/Element/ConstantsAggregate.md @@ -0,0 +1,99 @@ +# Class ConstantsAggregate + +Class ConstantsAggregate + +Full name: `spaceonfire\ApiDoc\Element\ConstantsAggregate` + +This class implements: + +- `spaceonfire\ApiDoc\Element\ElementInterface` +- `IteratorAggregate` +- `Traversable` +- `Countable` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_constantsaggregate_construct) | | | [📢](# "Visibility: public") | +| [getFqsen](#spaceonfire_apidoc_element_constantsaggregate_getfqsen) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | Getter for `fqsen` property. | [📢](# "Visibility: public") | +| [getIterator](#spaceonfire_apidoc_element_constantsaggregate_getiterator) | _ArrayIterator|spaceonfire\ApiDoc\Element\ConstantElement[]_ | Retrieve an external iterator | [📢](# "Visibility: public") | +| [count](#spaceonfire_apidoc_element_constantsaggregate_count) | _int_ | Count elements of an object | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------------------- | -------------------------------------------- | --------- | ----------- | +| `...$constantElements` | _spaceonfire\ApiDoc\Element\ConstantElement_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\ConstantElement ...$constantElements) +``` + +File location: `Element/ConstantsAggregate.php:25` + + + +### getFqsen() + +Getter for `fqsen` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | | + +```php +public function getFqsen(): spaceonfire\ApiDoc\Element\ValueObject\Fqsen +``` + +File location: `Element/ConstantsAggregate.php:35` + + + +### getIterator() + +Retrieve an external iterator + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| **Return** | _ArrayIterator|spaceonfire\ApiDoc\Element\ConstantElement[]_ | | | +| **Throws** | _Exception_ | | on failure. | + +```php +public function getIterator(): ArrayIterator|spaceonfire\ApiDoc\Element\ConstantElement[] +``` + +File location: `Element/ConstantsAggregate.php:44` + + + +### count() + +Count elements of an object + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----- | --------- | ----------------------------------------------------------------------------------------- | +| **Return** | _int_ | | The custom count as an integer.



The return value is cast to an integer. | + +```php +public function count(): int +``` + +File location: `Element/ConstantsAggregate.php:52` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/DocBlock.md b/docs/Element/DocBlock/DocBlock.md new file mode 100644 index 0000000..c12e8b8 --- /dev/null +++ b/docs/Element/DocBlock/DocBlock.md @@ -0,0 +1,181 @@ +# Class DocBlock + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\DocBlock` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_docblock_construct) | | DocBlock constructor. | [📢](# "Visibility: public") | +| [getSummary](#spaceonfire_apidoc_element_docblock_docblock_getsummary) | _string_ | Getter for `summary` property. | [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_docblock_docblock_getdescription) | _string_ | Getter for `description` property. | [📢](# "Visibility: public") | +| [getTags](#spaceonfire_apidoc_element_docblock_docblock_gettags) | _phpDocumentor\Reflection\DocBlock\Tag[]|Generator_ | Getter for `tags` property. | [📢](# "Visibility: public") | +| [getTagsByName](#spaceonfire_apidoc_element_docblock_docblock_gettagsbyname) | _phpDocumentor\Reflection\DocBlock\Tag[]|Generator_ | | [📢](# "Visibility: public") | +| [getFirstTagByName](#spaceonfire_apidoc_element_docblock_docblock_getfirsttagbyname) | _phpDocumentor\Reflection\DocBlock\Tag|null_ | | [📢](# "Visibility: public") | +| [hasTag](#spaceonfire_apidoc_element_docblock_docblock_hastag) | _bool_ | | [📢](# "Visibility: public") | +| [getTagsGroupedByName](#spaceonfire_apidoc_element_docblock_docblock_gettagsgroupedbyname) | _array|array_ | | [📢](# "Visibility: public") | +| [hasInheritTag](#spaceonfire_apidoc_element_docblock_docblock_hasinherittag) | _bool_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +DocBlock constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ------------------------------------------------------- | --------- | ----------- | +| `$summary` | _string_ | No | | +| `$description` | _string_ | No | | +| `$tags` | _phpDocumentor\Reflection\DocBlock\Tag[]|iterable_ | No | | + +```php +public function __construct(string $summary, string $description, phpDocumentor\Reflection\DocBlock\Tag[]|iterable $tags = []) +``` + +File location: `Element/DocBlock/DocBlock.php:33` + + + +### getSummary() + +Getter for `summary` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getSummary(): string +``` + +File location: `Element/DocBlock/DocBlock.php:69` + + + +### getDescription() + +Getter for `description` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getDescription(): string +``` + +File location: `Element/DocBlock/DocBlock.php:78` + + + +### getTags() + +Getter for `tags` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------- | --------- | ----------- | +| **Return** | _phpDocumentor\Reflection\DocBlock\Tag[]|Generator_ | | | + +```php +public function getTags(): phpDocumentor\Reflection\DocBlock\Tag[]|Generator +``` + +File location: `Element/DocBlock/DocBlock.php:87` + + + +### getTagsByName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------- | --------- | ----------- | +| `$tagName` | _string_ | No | | +| **Return** | _phpDocumentor\Reflection\DocBlock\Tag[]|Generator_ | | | + +```php +public function getTagsByName(string $tagName): phpDocumentor\Reflection\DocBlock\Tag[]|Generator +``` + +File location: `Element/DocBlock/DocBlock.php:100` + + + +### getFirstTagByName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------- | --------- | ----------- | +| `$tagName` | _string_ | No | | +| **Return** | _phpDocumentor\Reflection\DocBlock\Tag|null_ | | | + +```php +public function getFirstTagByName(string $tagName): phpDocumentor\Reflection\DocBlock\Tag|null +``` + +File location: `Element/DocBlock/DocBlock.php:111` + + + +### hasTag() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$tagName` | _string_ | No | | +| **Return** | _bool_ | | | + +```php +public function hasTag(string $tagName): bool +``` + +File location: `Element/DocBlock/DocBlock.php:120` + + + +### getTagsGroupedByName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------------ | --------- | ----------- | +| **Return** | _array|array_ | | | + +```php +public function getTagsGroupedByName(): array|array +``` + +File location: `Element/DocBlock/DocBlock.php:128` + + + +### hasInheritTag() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function hasInheritTag(): bool +``` + +File location: `Element/DocBlock/DocBlock.php:133` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Factory/DocBlockFactory.md b/docs/Element/DocBlock/Factory/DocBlockFactory.md new file mode 100644 index 0000000..f77a42c --- /dev/null +++ b/docs/Element/DocBlock/Factory/DocBlockFactory.md @@ -0,0 +1,54 @@ +# Class DocBlockFactory + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactory` + +This class implements: `spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_factory_docblockfactory_construct) | | | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_docblock_factory_docblockfactory_make) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from reflection object. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | ------------------------------------------ | --------- | ----------- | +| `$docBlockFactory` | _phpDocumentor\Reflection\DocBlockFactory_ | No | | + +```php +public function __construct(phpDocumentor\Reflection\DocBlockFactory $docBlockFactory) +``` + +File location: `Element/DocBlock/Factory/DocBlockFactory.php:28` + + + +### make() + +Creates ApiDoc's DocBlock object from reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +public function make(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `Element/DocBlock/Factory/DocBlockFactory.php:37` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Factory/DocBlockFactoryInterface.md b/docs/Element/DocBlock/Factory/DocBlockFactoryInterface.md new file mode 100644 index 0000000..a893839 --- /dev/null +++ b/docs/Element/DocBlock/Factory/DocBlockFactoryInterface.md @@ -0,0 +1,36 @@ +# Interface DocBlockFactoryInterface + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [make](#spaceonfire_apidoc_element_docblock_factory_docblockfactoryinterface_make) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from reflection object. | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### make() + +Creates ApiDoc's DocBlock object from reflection object. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +abstract public function make(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `Element/DocBlock/Factory/DocBlockFactoryInterface.php:16` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/AbstractDocBlockResolver.md b/docs/Element/DocBlock/Resolver/AbstractDocBlockResolver.md new file mode 100644 index 0000000..93bcc7a --- /dev/null +++ b/docs/Element/DocBlock/Resolver/AbstractDocBlockResolver.md @@ -0,0 +1,78 @@ +# Class AbstractDocBlockResolver + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\AbstractDocBlockResolver` + +This class implements: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_construct) | | DocBlockResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_resolve) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_docblock_resolver_docblockresolverinterface_supports) | _bool_ | Checks that current resolver works with given reflection object. | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +DocBlockResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | ---------------------------------------------------------------------- | --------- | ----------- | +| `$docBlockFactory` | _spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface $docBlockFactory) +``` + +File location: `Element/DocBlock/Resolver/AbstractDocBlockResolver.php:22` + + + +### resolve() + +Creates ApiDoc's DocBlock object from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +final public function resolve(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `Element/DocBlock/Resolver/AbstractDocBlockResolver.php:30` + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(object $reflection): bool +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/DocBlockResolverInterface.php:16` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/ClassDocBlockResolver.md b/docs/Element/DocBlock/Resolver/ClassDocBlockResolver.md new file mode 100644 index 0000000..59d5c4c --- /dev/null +++ b/docs/Element/DocBlock/Resolver/ClassDocBlockResolver.md @@ -0,0 +1,79 @@ +# Class ClassDocBlockResolver + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\ClassDocBlockResolver` + +Parent class name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\AbstractDocBlockResolver` + +This class implements: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_docblock_resolver_classdocblockresolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_construct) | | DocBlockResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_resolve) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/DocBlock/Resolver/ClassDocBlockResolver.php:15` + + + +### \_\_construct() + +DocBlockResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | ---------------------------------------------------------------------- | --------- | ----------- | +| `$docBlockFactory` | _spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface $docBlockFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php:22` + + + +### resolve() + +Creates ApiDoc's DocBlock object from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +final public function resolve(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php:30` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/CompositeDocBlockResolver.md b/docs/Element/DocBlock/Resolver/CompositeDocBlockResolver.md new file mode 100644 index 0000000..03de1fe --- /dev/null +++ b/docs/Element/DocBlock/Resolver/CompositeDocBlockResolver.md @@ -0,0 +1,74 @@ +# Class CompositeDocBlockResolver + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\CompositeDocBlockResolver` + +This class implements: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_resolver_compositedocblockresolver_construct) | | | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_docblock_resolver_compositedocblockresolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_docblock_resolver_compositedocblockresolver_resolve) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from Roave BetterReflection objects. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ------------------------------------------------------------------------ | --------- | ----------- | +| `...$resolvers` | _spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface ...$resolvers) +``` + +File location: `Element/DocBlock/Resolver/CompositeDocBlockResolver.php:17` + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/DocBlock/Resolver/CompositeDocBlockResolver.php:25` + + + +### resolve() + +Creates ApiDoc's DocBlock object from Roave BetterReflection objects. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +public function resolve(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `Element/DocBlock/Resolver/CompositeDocBlockResolver.php:39` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/DefaultDocBlockResolver.md b/docs/Element/DocBlock/Resolver/DefaultDocBlockResolver.md new file mode 100644 index 0000000..826c5a3 --- /dev/null +++ b/docs/Element/DocBlock/Resolver/DefaultDocBlockResolver.md @@ -0,0 +1,79 @@ +# Class DefaultDocBlockResolver + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DefaultDocBlockResolver` + +Parent class name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\AbstractDocBlockResolver` + +This class implements: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_docblock_resolver_defaultdocblockresolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_construct) | | DocBlockResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_resolve) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/DocBlock/Resolver/DefaultDocBlockResolver.php:12` + + + +### \_\_construct() + +DocBlockResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | ---------------------------------------------------------------------- | --------- | ----------- | +| `$docBlockFactory` | _spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface $docBlockFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php:22` + + + +### resolve() + +Creates ApiDoc's DocBlock object from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +final public function resolve(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php:30` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/DocBlockMerger.md b/docs/Element/DocBlock/Resolver/DocBlockMerger.md new file mode 100644 index 0000000..c46c89e --- /dev/null +++ b/docs/Element/DocBlock/Resolver/DocBlockMerger.md @@ -0,0 +1,55 @@ +# Class DocBlockMerger + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockMerger` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------- | ---------------------------------------------- | -------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_resolver_docblockmerger_construct) | | DocBlockMerger constructor. | [📢](# "Visibility: public") | +| [\_\_invoke](#spaceonfire_apidoc_element_docblock_resolver_docblockmerger_invoke) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Merge child and parent DocBlocks | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +DocBlockMerger constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | --------------------- | --------- | ----------- | +| `$inheritTagNames` | _string[]|array_ | No | | + +```php +public function __construct(string[]|array $inheritTagNames) +``` + +File location: `Element/DocBlock/Resolver/DocBlockMerger.php:26` + + + +### \_\_invoke() + +Merge child and parent DocBlocks + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| `$child` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| `$parent` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +public function __invoke(spaceonfire\ApiDoc\Element\DocBlock\DocBlock $child, spaceonfire\ApiDoc\Element\DocBlock\DocBlock $parent): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `Element/DocBlock/Resolver/DocBlockMerger.php:37` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/DocBlockResolverInterface.md b/docs/Element/DocBlock/Resolver/DocBlockResolverInterface.md new file mode 100644 index 0000000..722e377 --- /dev/null +++ b/docs/Element/DocBlock/Resolver/DocBlockResolverInterface.md @@ -0,0 +1,57 @@ +# Interface DocBlockResolverInterface + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_docblock_resolver_docblockresolverinterface_supports) | _bool_ | Checks that current resolver works with given reflection object. | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_docblock_resolver_docblockresolverinterface_resolve) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from Roave BetterReflection objects. | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(object $reflection): bool +``` + +File location: `Element/DocBlock/Resolver/DocBlockResolverInterface.php:16` + + + +### resolve() + +Creates ApiDoc's DocBlock object from Roave BetterReflection objects. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +abstract public function resolve(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `Element/DocBlock/Resolver/DocBlockResolverInterface.php:23` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/MemoizedDocBlockResolver.md b/docs/Element/DocBlock/Resolver/MemoizedDocBlockResolver.md new file mode 100644 index 0000000..3024457 --- /dev/null +++ b/docs/Element/DocBlock/Resolver/MemoizedDocBlockResolver.md @@ -0,0 +1,74 @@ +# Class MemoizedDocBlockResolver + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\MemoizedDocBlockResolver` + +This class implements: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_resolver_memoizeddocblockresolver_construct) | | | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_docblock_resolver_memoizeddocblockresolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_docblock_resolver_memoizeddocblockresolver_resolve) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from Roave BetterReflection objects. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------- | ------------------------------------------------------------------------ | --------- | ----------- | +| `$resolver` | _spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface $resolver) +``` + +File location: `Element/DocBlock/Resolver/MemoizedDocBlockResolver.php:24` + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/DocBlock/Resolver/MemoizedDocBlockResolver.php:34` + + + +### resolve() + +Creates ApiDoc's DocBlock object from Roave BetterReflection objects. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +public function resolve(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `Element/DocBlock/Resolver/MemoizedDocBlockResolver.php:43` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/MethodDocBlockResolver.md b/docs/Element/DocBlock/Resolver/MethodDocBlockResolver.md new file mode 100644 index 0000000..5882f67 --- /dev/null +++ b/docs/Element/DocBlock/Resolver/MethodDocBlockResolver.md @@ -0,0 +1,79 @@ +# Class MethodDocBlockResolver + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\MethodDocBlockResolver` + +Parent class name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\AbstractDocBlockResolver` + +This class implements: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_docblock_resolver_methoddocblockresolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_construct) | | DocBlockResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_resolve) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/DocBlock/Resolver/MethodDocBlockResolver.php:15` + + + +### \_\_construct() + +DocBlockResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | ---------------------------------------------------------------------- | --------- | ----------- | +| `$docBlockFactory` | _spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface $docBlockFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php:22` + + + +### resolve() + +Creates ApiDoc's DocBlock object from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +final public function resolve(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php:30` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/DocBlock/Resolver/PropertyDocBlockResolver.md b/docs/Element/DocBlock/Resolver/PropertyDocBlockResolver.md new file mode 100644 index 0000000..a96bb58 --- /dev/null +++ b/docs/Element/DocBlock/Resolver/PropertyDocBlockResolver.md @@ -0,0 +1,79 @@ +# Class PropertyDocBlockResolver + +Full name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\PropertyDocBlockResolver` + +Parent class name: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\AbstractDocBlockResolver` + +This class implements: `spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_docblock_resolver_propertydocblockresolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_construct) | | DocBlockResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver_resolve) | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | Creates ApiDoc's DocBlock object from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/DocBlock/Resolver/PropertyDocBlockResolver.php:15` + + + +### \_\_construct() + +DocBlockResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | ---------------------------------------------------------------------- | --------- | ----------- | +| `$docBlockFactory` | _spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface $docBlockFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php:22` + + + +### resolve() + +Creates ApiDoc's DocBlock object from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | | | + +```php +final public function resolve(object $reflection): spaceonfire\ApiDoc\Element\DocBlock\DocBlock +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php:30` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ElementInterface.md b/docs/Element/ElementInterface.md new file mode 100644 index 0000000..d01fc53 --- /dev/null +++ b/docs/Element/ElementInterface.md @@ -0,0 +1,13 @@ +# Interface ElementInterface + +Full name: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---- | ---- | ------- | ---------- | + + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Example/ExampleCodeSnippetResolver.md b/docs/Element/Example/ExampleCodeSnippetResolver.md new file mode 100644 index 0000000..22e9798 --- /dev/null +++ b/docs/Element/Example/ExampleCodeSnippetResolver.md @@ -0,0 +1,72 @@ +# Class ExampleCodeSnippetResolver + +Full name: `spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_example_examplecodesnippetresolver_construct) | | ExampleCodeSnippetResolver constructor. | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_example_examplecodesnippetresolver_supports) | _bool_ | | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_example_examplecodesnippetresolver_resolve) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +ExampleCodeSnippetResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------------- | --------------------------------- | --------- | ----------- | +| `$exampleDirectories` | _string[]|array_ | No | | +| `$trimEmptyLines` | _bool_ | No | | +| `$extensionToLanguageMap` | _array|array_ | No | | + +```php +public function __construct(string[]|array $exampleDirectories, bool $trimEmptyLines = true, array|array $extensionToLanguageMap = []) +``` + +File location: `Element/Example/ExampleCodeSnippetResolver.php:38` + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------ | --------- | ----------- | +| `$example` | _spaceonfire\ApiDoc\Element\ValueObject\Example_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ValueObject\Example $example): bool +``` + +File location: `Element/Example/ExampleCodeSnippetResolver.php:48` + + + +### resolve() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------------- | --------- | ----------- | +| `$example` | _spaceonfire\ApiDoc\Element\ValueObject\Example_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | | + +```php +public function resolve(spaceonfire\ApiDoc\Element\ValueObject\Example $example): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet +``` + +File location: `Element/Example/ExampleCodeSnippetResolver.php:53` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Factory/AbstractElementFactory.md b/docs/Element/Factory/AbstractElementFactory.md new file mode 100644 index 0000000..dc39adb --- /dev/null +++ b/docs/Element/Factory/AbstractElementFactory.md @@ -0,0 +1,101 @@ +# Class AbstractElementFactory + +Full name: `spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory` + +This class implements: `spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_factory_abstractelementfactory_construct) | | ElementFactory constructor. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_factory_abstractelementfactory_make) | _spaceonfire\ApiDoc\Element\ElementInterface_ | Creates ApiDoc element from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | +| [setParent](#spaceonfire_apidoc_element_factory_abstractelementfactory_setparent) | _void_ | Sets parent factory. | [📌](# "Final element") [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_factory_elementfactoryinterface_supports) | _bool_ | Checks that current factory works with given reflection object. | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +ElementFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | ------------------------------------------------------------------------ | --------- | ----------- | +| `$docBlockResolver` | _spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface_ | No | | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | +| `$locationFactory` | _spaceonfire\ApiDoc\Element\Location\LocationFactory_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface $docBlockResolver, spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory, spaceonfire\ApiDoc\Element\Location\LocationFactory $locationFactory) +``` + +File location: `Element/Factory/AbstractElementFactory.php:64` + + + +### make() + +Creates ApiDoc element from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | --------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface_ | | | + +```php +final public function make(object $reflection): spaceonfire\ApiDoc\Element\ElementInterface +``` + +File location: `Element/Factory/AbstractElementFactory.php:82` + + + +### setParent() + +Sets parent factory. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$factory` | _spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +final public function setParent(spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $factory): void +``` + +File location: `Element/Factory/AbstractElementFactory.php:100` + + + +### supports() + +Checks that current factory works with given reflection object. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(object $reflection): bool +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/ElementFactoryInterface.php:16` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Factory/ClassLikeElementFactory.md b/docs/Element/Factory/ClassLikeElementFactory.md new file mode 100644 index 0000000..e3eddf2 --- /dev/null +++ b/docs/Element/Factory/ClassLikeElementFactory.md @@ -0,0 +1,101 @@ +# Class ClassLikeElementFactory + +Full name: `spaceonfire\ApiDoc\Element\Factory\ClassLikeElementFactory` + +Parent class name: `spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory` + +This class implements: `spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_factory_classlikeelementfactory_construct) | | | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_factory_classlikeelementfactory_supports) | _bool_ | Checks that current factory works with given reflection object. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_factory_abstractelementfactory_make) | _spaceonfire\ApiDoc\Element\ElementInterface_ | Creates ApiDoc element from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | +| [setParent](#spaceonfire_apidoc_element_factory_abstractelementfactory_setparent) | _void_ | Sets parent factory. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------------- | ------------------------------------------------------------------------------- | --------- | ----------- | +| `$docBlockResolver` | _spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface_ | No | | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | +| `$locationFactory` | _spaceonfire\ApiDoc\Element\Location\LocationFactory_ | No | | +| `$membersVisibilityFilter` | _spaceonfire\ApiDoc\Element\ValueObject\ClassMembersVisibilityFilter|null_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface $docBlockResolver, spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory, spaceonfire\ApiDoc\Element\Location\LocationFactory $locationFactory, spaceonfire\ApiDoc\Element\ValueObject\ClassMembersVisibilityFilter|null $membersVisibilityFilter = null) +``` + +File location: `Element/Factory/ClassLikeElementFactory.php:40` + + + +### supports() + +Checks that current factory works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Factory/ClassLikeElementFactory.php:55` + + + +### make() + +Creates ApiDoc element from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | --------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface_ | | | + +```php +final public function make(object $reflection): spaceonfire\ApiDoc\Element\ElementInterface +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:82` + + + +### setParent() + +Sets parent factory. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$factory` | _spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +final public function setParent(spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $factory): void +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:100` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Factory/CompositeElementFactory.md b/docs/Element/Factory/CompositeElementFactory.md new file mode 100644 index 0000000..64af327 --- /dev/null +++ b/docs/Element/Factory/CompositeElementFactory.md @@ -0,0 +1,96 @@ +# Class CompositeElementFactory + +Full name: `spaceonfire\ApiDoc\Element\Factory\CompositeElementFactory` + +This class implements: `spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_factory_compositeelementfactory_construct) | | CompositeElementFactory constructor. | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_factory_compositeelementfactory_supports) | _bool_ | Checks that current factory works with given reflection object. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_factory_compositeelementfactory_make) | _spaceonfire\ApiDoc\Element\ElementInterface_ | Creates ApiDoc element from Roave BetterReflection objects. | [📢](# "Visibility: public") | +| [setParent](#spaceonfire_apidoc_element_factory_compositeelementfactory_setparent) | _void_ | Sets parent factory. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +CompositeElementFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ------------------------------------------------------------ | --------- | ----------- | +| `...$factories` | _spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface ...$factories) +``` + +File location: `Element/Factory/CompositeElementFactory.php:25` + + + +### supports() + +Checks that current factory works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Factory/CompositeElementFactory.php:33` + + + +### make() + +Creates ApiDoc element from Roave BetterReflection objects. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | --------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface_ | | | + +```php +public function make(object $reflection): spaceonfire\ApiDoc\Element\ElementInterface +``` + +File location: `Element/Factory/CompositeElementFactory.php:47` + + + +### setParent() + +Sets parent factory. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------ | --------- | ----------- | +| `$parent` | _spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +public function setParent(spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $parent): void +``` + +File location: `Element/Factory/CompositeElementFactory.php:62` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Factory/ConstantElementFactory.md b/docs/Element/Factory/ConstantElementFactory.md new file mode 100644 index 0000000..16ee8e0 --- /dev/null +++ b/docs/Element/Factory/ConstantElementFactory.md @@ -0,0 +1,102 @@ +# Class ConstantElementFactory + +Full name: `spaceonfire\ApiDoc\Element\Factory\ConstantElementFactory` + +Parent class name: `spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory` + +This class implements: `spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_factory_constantelementfactory_supports) | _bool_ | Checks that current factory works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_factory_abstractelementfactory_construct) | | ElementFactory constructor. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_factory_abstractelementfactory_make) | _spaceonfire\ApiDoc\Element\ElementInterface_ | Creates ApiDoc element from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | +| [setParent](#spaceonfire_apidoc_element_factory_abstractelementfactory_setparent) | _void_ | Sets parent factory. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current factory works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Factory/ConstantElementFactory.php:21` + + + +### \_\_construct() + +ElementFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | ------------------------------------------------------------------------ | --------- | ----------- | +| `$docBlockResolver` | _spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface_ | No | | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | +| `$locationFactory` | _spaceonfire\ApiDoc\Element\Location\LocationFactory_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface $docBlockResolver, spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory, spaceonfire\ApiDoc\Element\Location\LocationFactory $locationFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:64` + + + +### make() + +Creates ApiDoc element from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | --------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface_ | | | + +```php +final public function make(object $reflection): spaceonfire\ApiDoc\Element\ElementInterface +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:82` + + + +### setParent() + +Sets parent factory. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$factory` | _spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +final public function setParent(spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $factory): void +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:100` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Factory/ElementFactoryInterface.md b/docs/Element/Factory/ElementFactoryInterface.md new file mode 100644 index 0000000..8a5953b --- /dev/null +++ b/docs/Element/Factory/ElementFactoryInterface.md @@ -0,0 +1,78 @@ +# Interface ElementFactoryInterface + +Full name: `spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_factory_elementfactoryinterface_supports) | _bool_ | Checks that current factory works with given reflection object. | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_factory_elementfactoryinterface_make) | _spaceonfire\ApiDoc\Element\ElementInterface_ | Creates ApiDoc element from Roave BetterReflection objects. | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [setParent](#spaceonfire_apidoc_element_factory_elementfactoryinterface_setparent) | _void_ | Sets parent factory. | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current factory works with given reflection object. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(object $reflection): bool +``` + +File location: `Element/Factory/ElementFactoryInterface.php:16` + + + +### make() + +Creates ApiDoc element from Roave BetterReflection objects. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | --------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface_ | | | + +```php +abstract public function make(object $reflection): spaceonfire\ApiDoc\Element\ElementInterface +``` + +File location: `Element/Factory/ElementFactoryInterface.php:23` + + + +### setParent() + +Sets parent factory. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------ | --------- | ----------- | +| `$factory` | _spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +abstract public function setParent(spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $factory): void +``` + +File location: `Element/Factory/ElementFactoryInterface.php:29` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Factory/FunctionLikeElementFactory.md b/docs/Element/Factory/FunctionLikeElementFactory.md new file mode 100644 index 0000000..16a8cc6 --- /dev/null +++ b/docs/Element/Factory/FunctionLikeElementFactory.md @@ -0,0 +1,102 @@ +# Class FunctionLikeElementFactory + +Full name: `spaceonfire\ApiDoc\Element\Factory\FunctionLikeElementFactory` + +Parent class name: `spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory` + +This class implements: `spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_factory_functionlikeelementfactory_supports) | _bool_ | Checks that current factory works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_factory_abstractelementfactory_construct) | | ElementFactory constructor. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_factory_abstractelementfactory_make) | _spaceonfire\ApiDoc\Element\ElementInterface_ | Creates ApiDoc element from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | +| [setParent](#spaceonfire_apidoc_element_factory_abstractelementfactory_setparent) | _void_ | Sets parent factory. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current factory works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Factory/FunctionLikeElementFactory.php:30` + + + +### \_\_construct() + +ElementFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | ------------------------------------------------------------------------ | --------- | ----------- | +| `$docBlockResolver` | _spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface_ | No | | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | +| `$locationFactory` | _spaceonfire\ApiDoc\Element\Location\LocationFactory_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface $docBlockResolver, spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory, spaceonfire\ApiDoc\Element\Location\LocationFactory $locationFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:64` + + + +### make() + +Creates ApiDoc element from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | --------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface_ | | | + +```php +final public function make(object $reflection): spaceonfire\ApiDoc\Element\ElementInterface +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:82` + + + +### setParent() + +Sets parent factory. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$factory` | _spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +final public function setParent(spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $factory): void +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:100` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Factory/MemoizedElementFactory.md b/docs/Element/Factory/MemoizedElementFactory.md new file mode 100644 index 0000000..87e1fd0 --- /dev/null +++ b/docs/Element/Factory/MemoizedElementFactory.md @@ -0,0 +1,94 @@ +# Class MemoizedElementFactory + +Full name: `spaceonfire\ApiDoc\Element\Factory\MemoizedElementFactory` + +This class implements: `spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_factory_memoizedelementfactory_construct) | | | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_factory_memoizedelementfactory_supports) | _bool_ | Checks that current factory works with given reflection object. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_factory_memoizedelementfactory_make) | _spaceonfire\ApiDoc\Element\ElementInterface_ | Creates ApiDoc element from Roave BetterReflection objects. | [📢](# "Visibility: public") | +| [setParent](#spaceonfire_apidoc_element_factory_memoizedelementfactory_setparent) | _void_ | Sets parent factory. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------ | --------- | ----------- | +| `$factory` | _spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $factory) +``` + +File location: `Element/Factory/MemoizedElementFactory.php:24` + + + +### supports() + +Checks that current factory works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Factory/MemoizedElementFactory.php:35` + + + +### make() + +Creates ApiDoc element from Roave BetterReflection objects. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | --------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface_ | | | + +```php +public function make(object $reflection): spaceonfire\ApiDoc\Element\ElementInterface +``` + +File location: `Element/Factory/MemoizedElementFactory.php:44` + + + +### setParent() + +Sets parent factory. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$factory` | _spaceonfire\ApiDoc\Element\Factory\MemoizedElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +public function setParent(spaceonfire\ApiDoc\Element\Factory\MemoizedElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $factory): void +``` + +File location: `Element/Factory/MemoizedElementFactory.php:53` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Factory/PropertyElementFactory.md b/docs/Element/Factory/PropertyElementFactory.md new file mode 100644 index 0000000..88a1789 --- /dev/null +++ b/docs/Element/Factory/PropertyElementFactory.md @@ -0,0 +1,102 @@ +# Class PropertyElementFactory + +Full name: `spaceonfire\ApiDoc\Element\Factory\PropertyElementFactory` + +Parent class name: `spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory` + +This class implements: `spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | --------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_factory_propertyelementfactory_supports) | _bool_ | Checks that current factory works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_factory_abstractelementfactory_construct) | | ElementFactory constructor. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_factory_abstractelementfactory_make) | _spaceonfire\ApiDoc\Element\ElementInterface_ | Creates ApiDoc element from Roave BetterReflection objects. | [📌](# "Final element") [📢](# "Visibility: public") | +| [setParent](#spaceonfire_apidoc_element_factory_abstractelementfactory_setparent) | _void_ | Sets parent factory. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current factory works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Factory/PropertyElementFactory.php:19` + + + +### \_\_construct() + +ElementFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | ------------------------------------------------------------------------ | --------- | ----------- | +| `$docBlockResolver` | _spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface_ | No | | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | +| `$locationFactory` | _spaceonfire\ApiDoc\Element\Location\LocationFactory_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface $docBlockResolver, spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory, spaceonfire\ApiDoc\Element\Location\LocationFactory $locationFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:64` + + + +### make() + +Creates ApiDoc element from Roave BetterReflection objects. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | --------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface_ | | | + +```php +final public function make(object $reflection): spaceonfire\ApiDoc\Element\ElementInterface +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:82` + + + +### setParent() + +Sets parent factory. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$factory` | _spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +final public function setParent(spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory|spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $factory): void +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Factory/AbstractElementFactory.php:100` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/FunctionElement.md b/docs/Element/FunctionElement.md new file mode 100644 index 0000000..c82dcab --- /dev/null +++ b/docs/Element/FunctionElement.md @@ -0,0 +1,196 @@ +# Class FunctionElement + +Full name: `spaceonfire\ApiDoc\Element\FunctionElement` + +Parent class name: `spaceonfire\ApiDoc\Element\AbstractElement` + +This class implements: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------- | ---------------------------------------------------- | +| _Properties_ | | | | +| [\$name](#spaceonfire_apidoc_element_abstractelement_$name) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [\$summary](#spaceonfire_apidoc_element_abstractelement_$summary) | _string_ | | [📢](# "Visibility: public") | +| [\$description](#spaceonfire_apidoc_element_abstractelement_$description) | _string_ | | [📢](# "Visibility: public") | +| [\$deprecated](#spaceonfire_apidoc_element_abstractelement_$deprecated) | _bool|string_ | | [📢](# "Visibility: public") | +| [\$location](#spaceonfire_apidoc_element_abstractelement_$location) | _spaceonfire\ApiDoc\Element\Location\Location|null_ | | [📢](# "Visibility: public") | +| [\$links](#spaceonfire_apidoc_element_abstractelement_$links) | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ | | [📢](# "Visibility: public") | +| [\$examples](#spaceonfire_apidoc_element_abstractelement_$examples) | _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ | | [📢](# "Visibility: public") | +| [\$parameters](#spaceonfire_apidoc_element_functionelement_$parameters) | _spaceonfire\ApiDoc\Element\ValueObject\FunctionParameter[]_ | | [📢](# "Visibility: public") | +| [\$return](#spaceonfire_apidoc_element_functionelement_$return) | _spaceonfire\ApiDoc\Element\ValueObject\FunctionReturn|null_ | | [📢](# "Visibility: public") | +| [\$throws](#spaceonfire_apidoc_element_functionelement_$throws) | _spaceonfire\ApiDoc\Element\ValueObject\FunctionThrows[]_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_abstractelement_construct) | | | [📌](# "Final element") [📢](# "Visibility: public") | + +## Properties + + + +### \$name + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Fqsen $name +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:20` + + + +### \$summary + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $summary +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:24` + + + +### \$description + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $description +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:28` + + + +### \$deprecated + +- **Visibility**: public +- **Static**: No +- **Type**: _bool|string_ +- **Default value**: `false` + +```php +public bool|string $deprecated = false +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:32` + + + +### \$location + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\Location\Location|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\Location\Location|null $location +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:36` + + + +### \$links + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[] $links +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:40` + + + +### \$examples + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Example[] $examples +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:44` + + + +### \$parameters + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\FunctionParameter[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\FunctionParameter[] $parameters +``` + +File location: `Element/FunctionElement.php:20` + + + +### \$return + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\FunctionReturn|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\FunctionReturn|null $return +``` + +File location: `Element/FunctionElement.php:24` + + + +### \$throws + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\FunctionThrows[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\FunctionThrows[] $throws +``` + +File location: `Element/FunctionElement.php:28` + +## Methods + + + +### \_\_construct() + +- **Final method**: Yes +- **Visibility**: public + +```php +final public function __construct() +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:46` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/FunctionsAggregate.md b/docs/Element/FunctionsAggregate.md new file mode 100644 index 0000000..6433c87 --- /dev/null +++ b/docs/Element/FunctionsAggregate.md @@ -0,0 +1,99 @@ +# Class FunctionsAggregate + +Class FunctionsAggregate + +Full name: `spaceonfire\ApiDoc\Element\FunctionsAggregate` + +This class implements: + +- `spaceonfire\ApiDoc\Element\ElementInterface` +- `IteratorAggregate` +- `Traversable` +- `Countable` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_functionsaggregate_construct) | | | [📢](# "Visibility: public") | +| [getFqsen](#spaceonfire_apidoc_element_functionsaggregate_getfqsen) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | Getter for `fqsen` property. | [📢](# "Visibility: public") | +| [getIterator](#spaceonfire_apidoc_element_functionsaggregate_getiterator) | _ArrayIterator|spaceonfire\ApiDoc\Element\FunctionElement[]_ | Retrieve an external iterator | [📢](# "Visibility: public") | +| [count](#spaceonfire_apidoc_element_functionsaggregate_count) | _int_ | Count elements of an object | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------------------- | -------------------------------------------- | --------- | ----------- | +| `...$functionElements` | _spaceonfire\ApiDoc\Element\FunctionElement_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\FunctionElement ...$functionElements) +``` + +File location: `Element/FunctionsAggregate.php:25` + + + +### getFqsen() + +Getter for `fqsen` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | | + +```php +public function getFqsen(): spaceonfire\ApiDoc\Element\ValueObject\Fqsen +``` + +File location: `Element/FunctionsAggregate.php:35` + + + +### getIterator() + +Retrieve an external iterator + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| **Return** | _ArrayIterator|spaceonfire\ApiDoc\Element\FunctionElement[]_ | | | +| **Throws** | _Exception_ | | on failure. | + +```php +public function getIterator(): ArrayIterator|spaceonfire\ApiDoc\Element\FunctionElement[] +``` + +File location: `Element/FunctionsAggregate.php:44` + + + +### count() + +Count elements of an object + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----- | --------- | ----------------------------------------------------------------------------------------- | +| **Return** | _int_ | | The custom count as an integer.



The return value is cast to an integer. | + +```php +public function count(): int +``` + +File location: `Element/FunctionsAggregate.php:52` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/InterfaceElement.md b/docs/Element/InterfaceElement.md new file mode 100644 index 0000000..7e80bc1 --- /dev/null +++ b/docs/Element/InterfaceElement.md @@ -0,0 +1,228 @@ +# Class InterfaceElement + +Full name: `spaceonfire\ApiDoc\Element\InterfaceElement` + +Parent class name: `spaceonfire\ApiDoc\Element\AbstractElement` + +This class implements: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------- | -------------------------------------------------------- | ------- | ---------------------------------------------------- | +| _Properties_ | | | | +| [\$name](#spaceonfire_apidoc_element_abstractelement_$name) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [\$summary](#spaceonfire_apidoc_element_abstractelement_$summary) | _string_ | | [📢](# "Visibility: public") | +| [\$description](#spaceonfire_apidoc_element_abstractelement_$description) | _string_ | | [📢](# "Visibility: public") | +| [\$deprecated](#spaceonfire_apidoc_element_abstractelement_$deprecated) | _bool|string_ | | [📢](# "Visibility: public") | +| [\$location](#spaceonfire_apidoc_element_abstractelement_$location) | _spaceonfire\ApiDoc\Element\Location\Location|null_ | | [📢](# "Visibility: public") | +| [\$links](#spaceonfire_apidoc_element_abstractelement_$links) | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ | | [📢](# "Visibility: public") | +| [\$examples](#spaceonfire_apidoc_element_abstractelement_$examples) | _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ | | [📢](# "Visibility: public") | +| [\$constants](#spaceonfire_apidoc_element_interfaceelement_$constants) | _spaceonfire\ApiDoc\Element\ConstantElement[]_ | | [📢](# "Visibility: public") | +| [\$methods](#spaceonfire_apidoc_element_interfaceelement_$methods) | _spaceonfire\ApiDoc\Element\MethodElement[]_ | | [📢](# "Visibility: public") | +| [\$magicProperties](#spaceonfire_apidoc_element_interfaceelement_$magicproperties) | _spaceonfire\ApiDoc\Element\PropertyElement[]_ | | [📢](# "Visibility: public") | +| [\$magicMethods](#spaceonfire_apidoc_element_interfaceelement_$magicmethods) | _spaceonfire\ApiDoc\Element\MethodElement[]_ | | [📢](# "Visibility: public") | +| [\$parents](#spaceonfire_apidoc_element_interfaceelement_$parents) | _spaceonfire\ApiDoc\Element\InterfaceElement[]_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_abstractelement_construct) | | | [📌](# "Final element") [📢](# "Visibility: public") | + +## Properties + + + +### \$name + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Fqsen $name +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:20` + + + +### \$summary + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $summary +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:24` + + + +### \$description + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $description +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:28` + + + +### \$deprecated + +- **Visibility**: public +- **Static**: No +- **Type**: _bool|string_ +- **Default value**: `false` + +```php +public bool|string $deprecated = false +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:32` + + + +### \$location + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\Location\Location|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\Location\Location|null $location +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:36` + + + +### \$links + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[] $links +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:40` + + + +### \$examples + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Example[] $examples +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:44` + + + +### \$constants + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ConstantElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ConstantElement[] $constants +``` + +File location: `Element/InterfaceElement.php:17` + + + +### \$methods + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\MethodElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\MethodElement[] $methods +``` + +File location: `Element/InterfaceElement.php:21` + + + +### \$magicProperties + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\PropertyElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\PropertyElement[] $magicProperties +``` + +File location: `Element/InterfaceElement.php:25` + + + +### \$magicMethods + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\MethodElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\MethodElement[] $magicMethods +``` + +File location: `Element/InterfaceElement.php:29` + + + +### \$parents + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\InterfaceElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\InterfaceElement[] $parents +``` + +File location: `Element/InterfaceElement.php:33` + +## Methods + + + +### \_\_construct() + +- **Final method**: Yes +- **Visibility**: public + +```php +final public function __construct() +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:46` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Link/AnchorGenerator.md b/docs/Element/Link/AnchorGenerator.md new file mode 100644 index 0000000..18f00af --- /dev/null +++ b/docs/Element/Link/AnchorGenerator.md @@ -0,0 +1,33 @@ +# Class AnchorGenerator + +Full name: `spaceonfire\ApiDoc\Element\Link\AnchorGenerator` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------- | -------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_invoke](#spaceonfire_apidoc_element_link_anchorgenerator_invoke) | _string_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_invoke() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| `$fqsen` | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | No | | +| **Return** | _string_ | | | + +```php +public function __invoke(spaceonfire\ApiDoc\Element\ValueObject\Fqsen $fqsen): string +``` + +File location: `Element/Link/AnchorGenerator.php:12` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Link/CompositeLinkResolver.md b/docs/Element/Link/CompositeLinkResolver.md new file mode 100644 index 0000000..6613923 --- /dev/null +++ b/docs/Element/Link/CompositeLinkResolver.md @@ -0,0 +1,73 @@ +# Class CompositeLinkResolver + +Full name: `spaceonfire\ApiDoc\Element\Link\CompositeLinkResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Link\LinkResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------- | ------------------------------- | ---------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_link_compositelinkresolver_construct) | | CompositeLinkResolver constructor. | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_link_compositelinkresolver_supports) | _bool_ | | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_link_compositelinkresolver_resolve) | _Psr\Http\Message\UriInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +CompositeLinkResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ------------------------------------------------------- | --------- | ----------- | +| `...$resolvers` | _spaceonfire\ApiDoc\Element\Link\LinkResolverInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Link\LinkResolverInterface ...$resolvers) +``` + +File location: `Element/Link/CompositeLinkResolver.php:21` + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link): bool +``` + +File location: `Element/Link/CompositeLinkResolver.php:29` + + + +### resolve() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| `$from` | _mixed|null_ | No | | +| **Return** | _Psr\Http\Message\UriInterface_ | | | + +```php +public function resolve(spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link, mixed|null $from = null): Psr\Http\Message\UriInterface +``` + +File location: `Element/Link/CompositeLinkResolver.php:43` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Link/ExternalLinkResolver.md b/docs/Element/Link/ExternalLinkResolver.md new file mode 100644 index 0000000..7f638d6 --- /dev/null +++ b/docs/Element/Link/ExternalLinkResolver.md @@ -0,0 +1,54 @@ +# Class ExternalLinkResolver + +Full name: `spaceonfire\ApiDoc\Element\Link\ExternalLinkResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Link\LinkResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------- | ------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_link_externallinkresolver_supports) | _bool_ | | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_link_externallinkresolver_resolve) | _Psr\Http\Message\UriInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link): bool +``` + +File location: `Element/Link/ExternalLinkResolver.php:16` + + + +### resolve() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\ExternalLink|spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| `$_` | | No | | +| **Return** | _Psr\Http\Message\UriInterface_ | | | + +```php +public function resolve(spaceonfire\ApiDoc\Element\ValueObject\ExternalLink|spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link, $_ = null): Psr\Http\Message\UriInterface +``` + +File location: `Element/Link/ExternalLinkResolver.php:25` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Link/FqsenLinkResolver.md b/docs/Element/Link/FqsenLinkResolver.md new file mode 100644 index 0000000..c791a7e --- /dev/null +++ b/docs/Element/Link/FqsenLinkResolver.md @@ -0,0 +1,71 @@ +# Class FqsenLinkResolver + +Full name: `spaceonfire\ApiDoc\Element\Link\FqsenLinkResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Link\LinkResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------- | ------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_link_fqsenlinkresolver_construct) | | | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_link_fqsenlinkresolver_supports) | _bool_ | | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_link_fqsenlinkresolver_resolve) | _Psr\Http\Message\UriInterface_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | -------------------------------------------------------- | --------- | ----------- | +| `$fileNameStrategy` | _spaceonfire\ApiDoc\Generator\FileNameStrategyInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Generator\FileNameStrategyInterface $fileNameStrategy) +``` + +File location: `Element/Link/FqsenLinkResolver.php:31` + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link): bool +``` + +File location: `Element/Link/FqsenLinkResolver.php:41` + + + +### resolve() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------------------------------------------------------ | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\FqsenLink|spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| `$from` | _mixed|null_ | No | | +| **Return** | _Psr\Http\Message\UriInterface_ | | | + +```php +public function resolve(spaceonfire\ApiDoc\Element\ValueObject\FqsenLink|spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link, mixed|null $from = null): Psr\Http\Message\UriInterface +``` + +File location: `Element/Link/FqsenLinkResolver.php:50` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Link/LinkResolverInterface.md b/docs/Element/Link/LinkResolverInterface.md new file mode 100644 index 0000000..6a1c7da --- /dev/null +++ b/docs/Element/Link/LinkResolverInterface.md @@ -0,0 +1,54 @@ +# Interface LinkResolverInterface + +Full name: `spaceonfire\ApiDoc\Element\Link\LinkResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------- | ------------------------------- | ------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_link_linkresolverinterface_supports) | _bool_ | | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_link_linkresolverinterface_resolve) | _Psr\Http\Message\UriInterface_ | | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link): bool +``` + +File location: `Element/Link/LinkResolverInterface.php:16` + + + +### resolve() + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| `$from` | _mixed|null_ | No | | +| **Return** | _Psr\Http\Message\UriInterface_ | | | + +```php +abstract public function resolve(spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link, mixed|null $from = null): Psr\Http\Message\UriInterface +``` + +File location: `Element/Link/LinkResolverInterface.php:23` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Location/Location.md b/docs/Element/Location/Location.md new file mode 100644 index 0000000..fce76b5 --- /dev/null +++ b/docs/Element/Location/Location.md @@ -0,0 +1,113 @@ +# Class Location + +Full name: `spaceonfire\ApiDoc\Element\Location\Location` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------- | -------- | ----------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_location_location_construct) | | Location constructor. | [📢](# "Visibility: public") | +| [getAbsolutePath](#spaceonfire_apidoc_element_location_location_getabsolutepath) | _string_ | Getter for `absolutePath` property. | [📢](# "Visibility: public") | +| [getFilename](#spaceonfire_apidoc_element_location_location_getfilename) | _string_ | Getter for `filename` property. | [📢](# "Visibility: public") | +| [getLineNumber](#spaceonfire_apidoc_element_location_location_getlinenumber) | _int_ | Getter for `lineNumber` property. | [📢](# "Visibility: public") | +| [getColumnNumber](#spaceonfire_apidoc_element_location_location_getcolumnnumber) | _int_ | Getter for `columnNumber` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +Location constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | -------- | --------- | ----------- | +| `$absolutePath` | _string_ | No | | +| `$filename` | _string_ | No | | +| `$lineNumber` | _int_ | No | | +| `$columnNumber` | _int_ | No | | + +```php +public function __construct(string $absolutePath, string $filename, int $lineNumber, int $columnNumber = 0) +``` + +File location: `Element/Location/Location.php:33` + + + +### getAbsolutePath() + +Getter for `absolutePath` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getAbsolutePath(): string +``` + +File location: `Element/Location/Location.php:45` + + + +### getFilename() + +Getter for `filename` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getFilename(): string +``` + +File location: `Element/Location/Location.php:54` + + + +### getLineNumber() + +Getter for `lineNumber` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----- | --------- | ----------- | +| **Return** | _int_ | | | + +```php +public function getLineNumber(): int +``` + +File location: `Element/Location/Location.php:63` + + + +### getColumnNumber() + +Getter for `columnNumber` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----- | --------- | ----------- | +| **Return** | _int_ | | | + +```php +public function getColumnNumber(): int +``` + +File location: `Element/Location/Location.php:72` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Location/LocationFactory.md b/docs/Element/Location/LocationFactory.md new file mode 100644 index 0000000..0063bde --- /dev/null +++ b/docs/Element/Location/LocationFactory.md @@ -0,0 +1,54 @@ +# Class LocationFactory + +Full name: `spaceonfire\ApiDoc\Element\Location\LocationFactory` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------- | ---------------------------------------------- | ---------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_location_locationfactory_construct) | | LocationFactory constructor. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_location_locationfactory_make) | _spaceonfire\ApiDoc\Element\Location\Location_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +LocationFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | --------------------- | --------- | ----------- | +| `$sourceDirectories` | _string[]|array_ | No | | + +```php +public function __construct(string[]|array $sourceDirectories) +``` + +File location: `Element/Location/LocationFactory.php:20` + + + +### make() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ---------------------------------------------- | --------- | ----------- | +| `$absolutePath` | _string_ | No | | +| `$lineNumber` | _int_ | No | | +| `$columnNumber` | _int_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\Location\Location_ | | | + +```php +public function make(string $absolutePath, int $lineNumber, int $columnNumber = 0): spaceonfire\ApiDoc\Element\Location\Location +``` + +File location: `Element/Location/LocationFactory.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/MethodElement.md b/docs/Element/MethodElement.md new file mode 100644 index 0000000..b797f99 --- /dev/null +++ b/docs/Element/MethodElement.md @@ -0,0 +1,260 @@ +# Class MethodElement + +Full name: `spaceonfire\ApiDoc\Element\MethodElement` + +Parent class name: `spaceonfire\ApiDoc\Element\AbstractElement` + +This class implements: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------- | ---------------------------------------------------- | +| _Properties_ | | | | +| [\$name](#spaceonfire_apidoc_element_abstractelement_$name) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [\$summary](#spaceonfire_apidoc_element_abstractelement_$summary) | _string_ | | [📢](# "Visibility: public") | +| [\$description](#spaceonfire_apidoc_element_abstractelement_$description) | _string_ | | [📢](# "Visibility: public") | +| [\$deprecated](#spaceonfire_apidoc_element_abstractelement_$deprecated) | _bool|string_ | | [📢](# "Visibility: public") | +| [\$location](#spaceonfire_apidoc_element_abstractelement_$location) | _spaceonfire\ApiDoc\Element\Location\Location|null_ | | [📢](# "Visibility: public") | +| [\$links](#spaceonfire_apidoc_element_abstractelement_$links) | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ | | [📢](# "Visibility: public") | +| [\$examples](#spaceonfire_apidoc_element_abstractelement_$examples) | _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ | | [📢](# "Visibility: public") | +| [\$static](#spaceonfire_apidoc_element_methodelement_$static) | _bool_ | | [📢](# "Visibility: public") | +| [\$abstract](#spaceonfire_apidoc_element_methodelement_$abstract) | _bool_ | | [📢](# "Visibility: public") | +| [\$final](#spaceonfire_apidoc_element_methodelement_$final) | _bool_ | | [📢](# "Visibility: public") | +| [\$visibility](#spaceonfire_apidoc_element_methodelement_$visibility) | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | | [📢](# "Visibility: public") | +| [\$parameters](#spaceonfire_apidoc_element_methodelement_$parameters) | _spaceonfire\ApiDoc\Element\ValueObject\FunctionParameter[]_ | | [📢](# "Visibility: public") | +| [\$return](#spaceonfire_apidoc_element_methodelement_$return) | _spaceonfire\ApiDoc\Element\ValueObject\FunctionReturn|null_ | | [📢](# "Visibility: public") | +| [\$throws](#spaceonfire_apidoc_element_methodelement_$throws) | _spaceonfire\ApiDoc\Element\ValueObject\FunctionThrows[]_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_abstractelement_construct) | | | [📌](# "Final element") [📢](# "Visibility: public") | + +## Properties + + + +### \$name + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Fqsen $name +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:20` + + + +### \$summary + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $summary +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:24` + + + +### \$description + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $description +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:28` + + + +### \$deprecated + +- **Visibility**: public +- **Static**: No +- **Type**: _bool|string_ +- **Default value**: `false` + +```php +public bool|string $deprecated = false +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:32` + + + +### \$location + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\Location\Location|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\Location\Location|null $location +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:36` + + + +### \$links + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[] $links +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:40` + + + +### \$examples + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Example[] $examples +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:44` + + + +### \$static + +- **Visibility**: public +- **Static**: No +- **Type**: _bool_ +- **Default value**: none + +```php +public bool $static +``` + +File location: `Element/MethodElement.php:21` + + + +### \$abstract + +- **Visibility**: public +- **Static**: No +- **Type**: _bool_ +- **Default value**: none + +```php +public bool $abstract +``` + +File location: `Element/MethodElement.php:25` + + + +### \$final + +- **Visibility**: public +- **Static**: No +- **Type**: _bool_ +- **Default value**: none + +```php +public bool $final +``` + +File location: `Element/MethodElement.php:29` + + + +### \$visibility + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Visibility $visibility +``` + +File location: `Element/MethodElement.php:33` + + + +### \$parameters + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\FunctionParameter[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\FunctionParameter[] $parameters +``` + +File location: `Element/MethodElement.php:37` + + + +### \$return + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\FunctionReturn|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\FunctionReturn|null $return +``` + +File location: `Element/MethodElement.php:41` + + + +### \$throws + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\FunctionThrows[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\FunctionThrows[] $throws +``` + +File location: `Element/MethodElement.php:45` + +## Methods + + + +### \_\_construct() + +- **Final method**: Yes +- **Visibility**: public + +```php +final public function __construct() +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:46` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/PropertyElement.md b/docs/Element/PropertyElement.md new file mode 100644 index 0000000..cbd3098 --- /dev/null +++ b/docs/Element/PropertyElement.md @@ -0,0 +1,212 @@ +# Class PropertyElement + +Full name: `spaceonfire\ApiDoc\Element\PropertyElement` + +Parent class name: `spaceonfire\ApiDoc\Element\AbstractElement` + +This class implements: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------- | -------------------------------------------------------- | ------- | ---------------------------------------------------- | +| _Properties_ | | | | +| [\$name](#spaceonfire_apidoc_element_abstractelement_$name) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [\$summary](#spaceonfire_apidoc_element_abstractelement_$summary) | _string_ | | [📢](# "Visibility: public") | +| [\$description](#spaceonfire_apidoc_element_abstractelement_$description) | _string_ | | [📢](# "Visibility: public") | +| [\$deprecated](#spaceonfire_apidoc_element_abstractelement_$deprecated) | _bool|string_ | | [📢](# "Visibility: public") | +| [\$location](#spaceonfire_apidoc_element_abstractelement_$location) | _spaceonfire\ApiDoc\Element\Location\Location|null_ | | [📢](# "Visibility: public") | +| [\$links](#spaceonfire_apidoc_element_abstractelement_$links) | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ | | [📢](# "Visibility: public") | +| [\$examples](#spaceonfire_apidoc_element_abstractelement_$examples) | _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ | | [📢](# "Visibility: public") | +| [\$static](#spaceonfire_apidoc_element_propertyelement_$static) | _bool_ | | [📢](# "Visibility: public") | +| [\$visibility](#spaceonfire_apidoc_element_propertyelement_$visibility) | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | | [📢](# "Visibility: public") | +| [\$type](#spaceonfire_apidoc_element_propertyelement_$type) | _spaceonfire\Type\Type|null_ | | [📢](# "Visibility: public") | +| [\$defaultValue](#spaceonfire_apidoc_element_propertyelement_$defaultvalue) | _spaceonfire\ApiDoc\Element\ValueObject\Value|null_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_abstractelement_construct) | | | [📌](# "Final element") [📢](# "Visibility: public") | + +## Properties + + + +### \$name + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Fqsen $name +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:20` + + + +### \$summary + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $summary +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:24` + + + +### \$description + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $description +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:28` + + + +### \$deprecated + +- **Visibility**: public +- **Static**: No +- **Type**: _bool|string_ +- **Default value**: `false` + +```php +public bool|string $deprecated = false +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:32` + + + +### \$location + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\Location\Location|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\Location\Location|null $location +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:36` + + + +### \$links + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[] $links +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:40` + + + +### \$examples + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Example[] $examples +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:44` + + + +### \$static + +- **Visibility**: public +- **Static**: No +- **Type**: _bool_ +- **Default value**: none + +```php +public bool $static +``` + +File location: `Element/PropertyElement.php:16` + + + +### \$visibility + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Visibility $visibility +``` + +File location: `Element/PropertyElement.php:20` + + + +### \$type + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\Type\Type|null_ +- **Default value**: none + +```php +public spaceonfire\Type\Type|null $type +``` + +File location: `Element/PropertyElement.php:24` + + + +### \$defaultValue + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Value|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Value|null $defaultValue +``` + +File location: `Element/PropertyElement.php:28` + +## Methods + + + +### \_\_construct() + +- **Final method**: Yes +- **Visibility**: public + +```php +final public function __construct() +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:46` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Signature/CompositeSignatureRenderer.md b/docs/Element/Signature/CompositeSignatureRenderer.md new file mode 100644 index 0000000..da97c73 --- /dev/null +++ b/docs/Element/Signature/CompositeSignatureRenderer.md @@ -0,0 +1,70 @@ +# Class CompositeSignatureRenderer + +Full name: `spaceonfire\ApiDoc\Element\Signature\CompositeSignatureRenderer` + +This class implements: `spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_signature_compositesignaturerenderer_construct) | | | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_signature_compositesignaturerenderer_supports) | _bool_ | | [📢](# "Visibility: public") | +| [render](#spaceonfire_apidoc_element_signature_compositesignaturerenderer_render) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ----------------------------------------------------------------- | --------- | ----------- | +| `...$renderers` | _spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface ...$renderers) +``` + +File location: `Element/Signature/CompositeSignatureRenderer.php:17` + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ElementInterface $element): bool +``` + +File location: `Element/Signature/CompositeSignatureRenderer.php:25` + + + +### render() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | | + +```php +public function render(spaceonfire\ApiDoc\Element\ElementInterface $element): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet +``` + +File location: `Element/Signature/CompositeSignatureRenderer.php:39` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Signature/ConstantSignatureRenderer.md b/docs/Element/Signature/ConstantSignatureRenderer.md new file mode 100644 index 0000000..8b7be8e --- /dev/null +++ b/docs/Element/Signature/ConstantSignatureRenderer.md @@ -0,0 +1,53 @@ +# Class ConstantSignatureRenderer + +Full name: `spaceonfire\ApiDoc\Element\Signature\ConstantSignatureRenderer` + +This class implements: `spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------ | ---------------------------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_signature_constantsignaturerenderer_supports) | _bool_ | | [📢](# "Visibility: public") | +| [render](#spaceonfire_apidoc_element_signature_constantsignaturerenderer_render) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ElementInterface $element): bool +``` + +File location: `Element/Signature/ConstantSignatureRenderer.php:17` + + + +### render() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ConstantElement|spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | | + +```php +public function render(spaceonfire\ApiDoc\Element\ConstantElement|spaceonfire\ApiDoc\Element\ElementInterface $element): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet +``` + +File location: `Element/Signature/ConstantSignatureRenderer.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Signature/FunctionLikeElementSignatureRenderer.md b/docs/Element/Signature/FunctionLikeElementSignatureRenderer.md new file mode 100644 index 0000000..c49d9dd --- /dev/null +++ b/docs/Element/Signature/FunctionLikeElementSignatureRenderer.md @@ -0,0 +1,53 @@ +# Class FunctionLikeElementSignatureRenderer + +Full name: `spaceonfire\ApiDoc\Element\Signature\FunctionLikeElementSignatureRenderer` + +This class implements: `spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_signature_functionlikeelementsignaturerenderer_supports) | _bool_ | | [📢](# "Visibility: public") | +| [render](#spaceonfire_apidoc_element_signature_functionlikeelementsignaturerenderer_render) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ElementInterface $element): bool +``` + +File location: `Element/Signature/FunctionLikeElementSignatureRenderer.php:20` + + + +### render() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\MethodElement|spaceonfire\ApiDoc\Element\FunctionElement|spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | | + +```php +public function render(spaceonfire\ApiDoc\Element\MethodElement|spaceonfire\ApiDoc\Element\FunctionElement|spaceonfire\ApiDoc\Element\ElementInterface $element): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet +``` + +File location: `Element/Signature/FunctionLikeElementSignatureRenderer.php:30` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Signature/PropertySignatureRenderer.md b/docs/Element/Signature/PropertySignatureRenderer.md new file mode 100644 index 0000000..652eaa4 --- /dev/null +++ b/docs/Element/Signature/PropertySignatureRenderer.md @@ -0,0 +1,53 @@ +# Class PropertySignatureRenderer + +Full name: `spaceonfire\ApiDoc\Element\Signature\PropertySignatureRenderer` + +This class implements: `spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------ | ---------------------------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_signature_propertysignaturerenderer_supports) | _bool_ | | [📢](# "Visibility: public") | +| [render](#spaceonfire_apidoc_element_signature_propertysignaturerenderer_render) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ElementInterface $element): bool +``` + +File location: `Element/Signature/PropertySignatureRenderer.php:17` + + + +### render() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\PropertyElement|spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | | + +```php +public function render(spaceonfire\ApiDoc\Element\PropertyElement|spaceonfire\ApiDoc\Element\ElementInterface $element): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet +``` + +File location: `Element/Signature/PropertySignatureRenderer.php:26` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Signature/SignatureRendererInterface.md b/docs/Element/Signature/SignatureRendererInterface.md new file mode 100644 index 0000000..ab070b2 --- /dev/null +++ b/docs/Element/Signature/SignatureRendererInterface.md @@ -0,0 +1,53 @@ +# Interface SignatureRendererInterface + +Full name: `spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_signature_signaturerendererinterface_supports) | _bool_ | | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [render](#spaceonfire_apidoc_element_signature_signaturerendererinterface_render) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(spaceonfire\ApiDoc\Element\ElementInterface $element): bool +``` + +File location: `Element/Signature/SignatureRendererInterface.php:16` + + + +### render() + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | | + +```php +abstract public function render(spaceonfire\ApiDoc\Element\ElementInterface $element): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet +``` + +File location: `Element/Signature/SignatureRendererInterface.php:22` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/TableOfContentsElement.md b/docs/Element/TableOfContentsElement.md new file mode 100644 index 0000000..9c7aa65 --- /dev/null +++ b/docs/Element/TableOfContentsElement.md @@ -0,0 +1,81 @@ +# Class TableOfContentsElement + +Class TableOfContentsElement. + +Full name: `spaceonfire\ApiDoc\Element\TableOfContentsElement` + +This class implements: + +- `spaceonfire\ApiDoc\Element\ElementInterface` +- `IteratorAggregate` +- `Traversable` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ----------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_tableofcontentselement_construct) | | TableOfContentsElement constructor. | [📢](# "Visibility: public") | +| [getFqsen](#spaceonfire_apidoc_element_tableofcontentselement_getfqsen) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | Getter for `fqsen` property. | [📢](# "Visibility: public") | +| [getIterator](#spaceonfire_apidoc_element_tableofcontentselement_getiterator) | _Generator|Generator_ | Retrieve an external iterator | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +TableOfContentsElement constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | --------------------------------------------- | --------- | ----------- | +| `...$elements` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\ElementInterface ...$elements) +``` + +File location: `Element/TableOfContentsElement.php:32` + + + +### getFqsen() + +Getter for `fqsen` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | | + +```php +public function getFqsen(): spaceonfire\ApiDoc\Element\ValueObject\Fqsen +``` + +File location: `Element/TableOfContentsElement.php:45` + + + +### getIterator() + +Retrieve an external iterator + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------------------------------- | --------- | ----------- | +| **Return** | _Generator|Generator_ | | | +| **Throws** | _Exception_ | | on failure. | + +```php +public function getIterator(): Generator|Generator +``` + +File location: `Element/TableOfContentsElement.php:54` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/TraitElement.md b/docs/Element/TraitElement.md new file mode 100644 index 0000000..99f1d78 --- /dev/null +++ b/docs/Element/TraitElement.md @@ -0,0 +1,228 @@ +# Class TraitElement + +Full name: `spaceonfire\ApiDoc\Element\TraitElement` + +Parent class name: `spaceonfire\ApiDoc\Element\AbstractElement` + +This class implements: `spaceonfire\ApiDoc\Element\ElementInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------ | -------------------------------------------------------- | ------- | ---------------------------------------------------- | +| _Properties_ | | | | +| [\$name](#spaceonfire_apidoc_element_abstractelement_$name) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [\$summary](#spaceonfire_apidoc_element_abstractelement_$summary) | _string_ | | [📢](# "Visibility: public") | +| [\$description](#spaceonfire_apidoc_element_abstractelement_$description) | _string_ | | [📢](# "Visibility: public") | +| [\$deprecated](#spaceonfire_apidoc_element_abstractelement_$deprecated) | _bool|string_ | | [📢](# "Visibility: public") | +| [\$location](#spaceonfire_apidoc_element_abstractelement_$location) | _spaceonfire\ApiDoc\Element\Location\Location|null_ | | [📢](# "Visibility: public") | +| [\$links](#spaceonfire_apidoc_element_abstractelement_$links) | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ | | [📢](# "Visibility: public") | +| [\$examples](#spaceonfire_apidoc_element_abstractelement_$examples) | _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ | | [📢](# "Visibility: public") | +| [\$properties](#spaceonfire_apidoc_element_traitelement_$properties) | _spaceonfire\ApiDoc\Element\PropertyElement[]_ | | [📢](# "Visibility: public") | +| [\$methods](#spaceonfire_apidoc_element_traitelement_$methods) | _spaceonfire\ApiDoc\Element\MethodElement[]_ | | [📢](# "Visibility: public") | +| [\$magicProperties](#spaceonfire_apidoc_element_traitelement_$magicproperties) | _spaceonfire\ApiDoc\Element\PropertyElement[]_ | | [📢](# "Visibility: public") | +| [\$magicMethods](#spaceonfire_apidoc_element_traitelement_$magicmethods) | _spaceonfire\ApiDoc\Element\MethodElement[]_ | | [📢](# "Visibility: public") | +| [\$parents](#spaceonfire_apidoc_element_traitelement_$parents) | _spaceonfire\ApiDoc\Element\TraitElement[]_ | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_abstractelement_construct) | | | [📌](# "Final element") [📢](# "Visibility: public") | + +## Properties + + + +### \$name + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Fqsen $name +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:20` + + + +### \$summary + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $summary +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:24` + + + +### \$description + +- **Visibility**: public +- **Static**: No +- **Type**: _string_ +- **Default value**: none + +```php +public string $description +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:28` + + + +### \$deprecated + +- **Visibility**: public +- **Static**: No +- **Type**: _bool|string_ +- **Default value**: `false` + +```php +public bool|string $deprecated = false +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:32` + + + +### \$location + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\Location\Location|null_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\Location\Location|null $location +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:36` + + + +### \$links + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\LinkInterface[] $links +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:40` + + + +### \$examples + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\ValueObject\Example[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\ValueObject\Example[] $examples +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:44` + + + +### \$properties + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\PropertyElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\PropertyElement[] $properties +``` + +File location: `Element/TraitElement.php:17` + + + +### \$methods + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\MethodElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\MethodElement[] $methods +``` + +File location: `Element/TraitElement.php:21` + + + +### \$magicProperties + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\PropertyElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\PropertyElement[] $magicProperties +``` + +File location: `Element/TraitElement.php:25` + + + +### \$magicMethods + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\MethodElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\MethodElement[] $magicMethods +``` + +File location: `Element/TraitElement.php:29` + + + +### \$parents + +- **Visibility**: public +- **Static**: No +- **Type**: _spaceonfire\ApiDoc\Element\TraitElement[]_ +- **Default value**: none + +```php +public spaceonfire\ApiDoc\Element\TraitElement[] $parents +``` + +File location: `Element/TraitElement.php:33` + +## Methods + + + +### \_\_construct() + +- **Final method**: Yes +- **Visibility**: public + +```php +final public function __construct() +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/AbstractElement.php:46` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/BetterReflectionInstanceOfType.md b/docs/Element/Type/BetterReflectionInstanceOfType.md new file mode 100644 index 0000000..a40fa0b --- /dev/null +++ b/docs/Element/Type/BetterReflectionInstanceOfType.md @@ -0,0 +1,75 @@ +# Class BetterReflectionInstanceOfType + +Full name: `spaceonfire\ApiDoc\Element\Type\BetterReflectionInstanceOfType` + +This class implements: `spaceonfire\Type\Type` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------ | -------- | ---------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_type_betterreflectioninstanceoftype_construct) | | BetterReflectionInstanceOfType constructor. | [📢](# "Visibility: public") | +| [check](#spaceonfire_apidoc_element_type_betterreflectioninstanceoftype_check) | _bool_ | Check that type of given value satisfies constraints | [📢](# "Visibility: public") | +| [\_\_toString](#spaceonfire_apidoc_element_type_betterreflectioninstanceoftype_tostring) | _string_ | Print type as a string | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +BetterReflectionInstanceOfType constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | --------------------------------------------------- | --------- | ----------- | +| `$reflectionClass` | _Roave\BetterReflection\Reflection\ReflectionClass_ | No | | + +```php +public function __construct(Roave\BetterReflection\Reflection\ReflectionClass $reflectionClass) +``` + +File location: `Element/Type/BetterReflectionInstanceOfType.php:22` + + + +### check() + +Check that type of given value satisfies constraints + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| `$_` | | No | | +| **Return** | _bool_ | | | + +```php +public function check( $_): bool +``` + +File location: `Element/Type/BetterReflectionInstanceOfType.php:30` + + + +### \_\_toString() + +Print type as a string + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function __toString(): string +``` + +File location: `Element/Type/BetterReflectionInstanceOfType.php:38` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Converter/PhpDocTypeConverter.md b/docs/Element/Type/Converter/PhpDocTypeConverter.md new file mode 100644 index 0000000..7aa7f0b --- /dev/null +++ b/docs/Element/Type/Converter/PhpDocTypeConverter.md @@ -0,0 +1,72 @@ +# Class PhpDocTypeConverter + +Full name: `spaceonfire\ApiDoc\Element\Type\Converter\PhpDocTypeConverter` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------- | --------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_type_converter_phpdoctypeconverter_construct) | | | [📢](# "Visibility: public") | +| [\_\_invoke](#spaceonfire_apidoc_element_type_converter_phpdoctypeconverter_invoke) | _spaceonfire\Type\Type|null_ | | [📢](# "Visibility: public") | +| [convert](#spaceonfire_apidoc_element_type_converter_phpdoctypeconverter_convert) | _spaceonfire\Type\Type|null_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ----------------------------------------------- | --------- | ----------- | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory) +``` + +File location: `Element/Type/Converter/PhpDocTypeConverter.php:35` + + + +### \_\_invoke() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | --------------------------------- | --------- | ----------- | +| `$type` | _phpDocumentor\Reflection\Type_ | No | | +| `$selfReplacement` | _spaceonfire\Type\Type|null_ | No | | +| `$parentReplacement` | _spaceonfire\Type\Type|null_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function __invoke(phpDocumentor\Reflection\Type $type, spaceonfire\Type\Type|null $selfReplacement = null, spaceonfire\Type\Type|null $parentReplacement = null): spaceonfire\Type\Type|null +``` + +File location: `Element/Type/Converter/PhpDocTypeConverter.php:40` + + + +### convert() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | --------------------------------- | --------- | ----------- | +| `$type` | _phpDocumentor\Reflection\Type_ | No | | +| `$selfReplacement` | _spaceonfire\Type\Type|null_ | No | | +| `$parentReplacement` | _spaceonfire\Type\Type|null_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function convert(phpDocumentor\Reflection\Type $type, spaceonfire\Type\Type|null $selfReplacement = null, spaceonfire\Type\Type|null $parentReplacement = null): spaceonfire\Type\Type|null +``` + +File location: `Element/Type/Converter/PhpDocTypeConverter.php:48` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Converter/ReflectionTypeConverter.md b/docs/Element/Type/Converter/ReflectionTypeConverter.md new file mode 100644 index 0000000..5e3877c --- /dev/null +++ b/docs/Element/Type/Converter/ReflectionTypeConverter.md @@ -0,0 +1,52 @@ +# Class ReflectionTypeConverter + +Full name: `spaceonfire\ApiDoc\Element\Type\Converter\ReflectionTypeConverter` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------- | --------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_type_converter_reflectiontypeconverter_construct) | | | [📢](# "Visibility: public") | +| [\_\_invoke](#spaceonfire_apidoc_element_type_converter_reflectiontypeconverter_invoke) | _spaceonfire\Type\Type|null_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ----------------------------------------------- | --------- | ----------- | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory) +``` + +File location: `Element/Type/Converter/ReflectionTypeConverter.php:20` + + + +### \_\_invoke() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | -------------------------------------------------- | --------- | ----------- | +| `$type` | _Roave\BetterReflection\Reflection\ReflectionType_ | No | | +| `$selfReplacement` | _spaceonfire\Type\Type|null_ | No | | +| `$parentReplacement` | _spaceonfire\Type\Type|null_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function __invoke(Roave\BetterReflection\Reflection\ReflectionType $type, spaceonfire\Type\Type|null $selfReplacement = null, spaceonfire\Type\Type|null $parentReplacement = null): spaceonfire\Type\Type|null +``` + +File location: `Element/Type/Converter/ReflectionTypeConverter.php:25` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.md b/docs/Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.md new file mode 100644 index 0000000..365f20a --- /dev/null +++ b/docs/Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.md @@ -0,0 +1,98 @@ +# Class BetterReflectionInstanceOfTypeFactory + +Full name: `spaceonfire\ApiDoc\Element\Type\Factory\BetterReflectionInstanceOfTypeFactory` + +This class implements: `spaceonfire\Type\Factory\TypeFactoryInterface` + +This class uses: `spaceonfire\Type\Factory\TypeFactoryTrait` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------------------- | ----------------------- | ------------------------------------------------------------------ | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_type_factory_betterreflectioninstanceoftypefactory_construct) | | BetterReflectionInstanceOfTypeFactory constructor. | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_type_factory_betterreflectioninstanceoftypefactory_supports) | _bool_ | Check that given string can be used to create a new Type instance. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_type_factory_betterreflectioninstanceoftypefactory_make) | _spaceonfire\Type\Type_ | Create new Type instance from a string. | [📢](# "Visibility: public") | +| [setParent](#spaceonfire_type_factory_typefactorytrait_setparent) | _void_ | Setter for `parent` property | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +BetterReflectionInstanceOfTypeFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ------------------------------------------------- | --------- | ----------- | +| `$reflector` | _Roave\BetterReflection\Reflector\ClassReflector_ | No | | + +```php +public function __construct(Roave\BetterReflection\Reflector\ClassReflector $reflector) +``` + +File location: `Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.php:28` + + + +### supports() + +Check that given string can be used to create a new Type instance. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$type` | _string_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(string $type): bool +``` + +File location: `Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.php:36` + + + +### make() + +Create new Type instance from a string. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------- | --------- | ----------- | +| `$type` | _string_ | No | | +| **Return** | _spaceonfire\Type\Type_ | | | + +```php +public function make(string $type): spaceonfire\Type\Type +``` + +File location: `Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.php:49` + + + +### setParent() + +Setter for `parent` property + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------- | --------- | ----------- | +| `$parent` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +public function setParent(spaceonfire\Type\Factory\TypeFactoryInterface $parent): void +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/type/src/Factory/TypeFactoryTrait.php:18` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Factory/BetterReflectionParentFactory.md b/docs/Element/Type/Factory/BetterReflectionParentFactory.md new file mode 100644 index 0000000..ea3cdbb --- /dev/null +++ b/docs/Element/Type/Factory/BetterReflectionParentFactory.md @@ -0,0 +1,98 @@ +# Class BetterReflectionParentFactory + +Full name: `spaceonfire\ApiDoc\Element\Type\Factory\BetterReflectionParentFactory` + +This class implements: `spaceonfire\Type\Factory\TypeFactoryInterface` + +This class uses: `spaceonfire\Type\Factory\TypeFactoryTrait` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------- | ----------------------- | ------------------------------------------------------------------ | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_type_factory_betterreflectionparentfactory_construct) | | BetterReflectionParentFactory constructor. | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_type_factory_betterreflectionparentfactory_supports) | _bool_ | Check that given string can be used to create a new Type instance. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_element_type_factory_betterreflectionparentfactory_make) | _spaceonfire\Type\Type_ | Create new Type instance from a string. | [📢](# "Visibility: public") | +| [setParent](#spaceonfire_type_factory_typefactorytrait_setparent) | _void_ | Setter for `parent` property | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +BetterReflectionParentFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------ | ------------------------------------------------- | --------- | ----------- | +| `$reflector` | _Roave\BetterReflection\Reflector\ClassReflector_ | No | | + +```php +public function __construct(Roave\BetterReflection\Reflector\ClassReflector $reflector) +``` + +File location: `Element/Type/Factory/BetterReflectionParentFactory.php:29` + + + +### supports() + +Check that given string can be used to create a new Type instance. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$type` | _string_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(string $type): bool +``` + +File location: `Element/Type/Factory/BetterReflectionParentFactory.php:37` + + + +### make() + +Create new Type instance from a string. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------- | --------- | ----------- | +| `$type` | _string_ | No | | +| **Return** | _spaceonfire\Type\Type_ | | | + +```php +public function make(string $type): spaceonfire\Type\Type +``` + +File location: `Element/Type/Factory/BetterReflectionParentFactory.php:56` + + + +### setParent() + +Setter for `parent` property + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------- | --------- | ----------- | +| `$parent` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | +| **Return** | _void_ | | | + +```php +public function setParent(spaceonfire\Type\Factory\TypeFactoryInterface $parent): void +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/type/src/Factory/TypeFactoryTrait.php:18` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Resolver/AbstractTypeResolver.md b/docs/Element/Type/Resolver/AbstractTypeResolver.md new file mode 100644 index 0000000..c48c39e --- /dev/null +++ b/docs/Element/Type/Resolver/AbstractTypeResolver.md @@ -0,0 +1,79 @@ +# Class AbstractTypeResolver + +Full name: `spaceonfire\ApiDoc\Element\Type\Resolver\AbstractTypeResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver_construct) | | TypeResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver_resolve) | _spaceonfire\Type\Type|null_ | Resolve type for given Roave BetterReflection object and its DocBlock. | [📌](# "Final element") [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_type_resolver_typeresolverinterface_supports) | _bool_ | Checks that current resolver works with given reflection object. | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +TypeResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ----------------------------------------------- | --------- | ----------- | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory) +``` + +File location: `Element/Type/Resolver/AbstractTypeResolver.php:33` + + + +### resolve() + +Resolve type for given Roave BetterReflection object and its DocBlock. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| `$docBlock` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +final public function resolve(object $reflection, spaceonfire\ApiDoc\Element\DocBlock\DocBlock $docBlock): spaceonfire\Type\Type|null +``` + +File location: `Element/Type/Resolver/AbstractTypeResolver.php:43` + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(object $reflection): bool +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Type/Resolver/TypeResolverInterface.php:17` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Resolver/ArgumentTypeResolver.md b/docs/Element/Type/Resolver/ArgumentTypeResolver.md new file mode 100644 index 0000000..a65aff5 --- /dev/null +++ b/docs/Element/Type/Resolver/ArgumentTypeResolver.md @@ -0,0 +1,80 @@ +# Class ArgumentTypeResolver + +Full name: `spaceonfire\ApiDoc\Element\Type\Resolver\ArgumentTypeResolver` + +Parent class name: `spaceonfire\ApiDoc\Element\Type\Resolver\AbstractTypeResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_type_resolver_argumenttyperesolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver_construct) | | TypeResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver_resolve) | _spaceonfire\Type\Type|null_ | Resolve type for given Roave BetterReflection object and its DocBlock. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Type/Resolver/ArgumentTypeResolver.php:19` + + + +### \_\_construct() + +TypeResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ----------------------------------------------- | --------- | ----------- | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Type/Resolver/AbstractTypeResolver.php:33` + + + +### resolve() + +Resolve type for given Roave BetterReflection object and its DocBlock. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| `$docBlock` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +final public function resolve(object $reflection, spaceonfire\ApiDoc\Element\DocBlock\DocBlock $docBlock): spaceonfire\Type\Type|null +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Type/Resolver/AbstractTypeResolver.php:43` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Resolver/CompositeTypeResolver.md b/docs/Element/Type/Resolver/CompositeTypeResolver.md new file mode 100644 index 0000000..a51534d --- /dev/null +++ b/docs/Element/Type/Resolver/CompositeTypeResolver.md @@ -0,0 +1,77 @@ +# Class CompositeTypeResolver + +Full name: `spaceonfire\ApiDoc\Element\Type\Resolver\CompositeTypeResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------ | --------------------------------- | ---------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_type_resolver_compositetyperesolver_construct) | | CompositeTypeResolver constructor. | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_type_resolver_compositetyperesolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_type_resolver_compositetyperesolver_resolve) | _spaceonfire\Type\Type|null_ | Resolve type for given Roave BetterReflection object and its DocBlock. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +CompositeTypeResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ---------------------------------------------------------------- | --------- | ----------- | +| `...$resolvers` | _spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface ...$resolvers) +``` + +File location: `Element/Type/Resolver/CompositeTypeResolver.php:22` + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Type/Resolver/CompositeTypeResolver.php:30` + + + +### resolve() + +Resolve type for given Roave BetterReflection object and its DocBlock. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| `$docBlock` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function resolve(object $reflection, spaceonfire\ApiDoc\Element\DocBlock\DocBlock $docBlock): spaceonfire\Type\Type|null +``` + +File location: `Element/Type/Resolver/CompositeTypeResolver.php:44` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Resolver/FunctionReturnTypeResolver.md b/docs/Element/Type/Resolver/FunctionReturnTypeResolver.md new file mode 100644 index 0000000..6fab20b --- /dev/null +++ b/docs/Element/Type/Resolver/FunctionReturnTypeResolver.md @@ -0,0 +1,80 @@ +# Class FunctionReturnTypeResolver + +Full name: `spaceonfire\ApiDoc\Element\Type\Resolver\FunctionReturnTypeResolver` + +Parent class name: `spaceonfire\ApiDoc\Element\Type\Resolver\AbstractTypeResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_type_resolver_functionreturntyperesolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver_construct) | | TypeResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver_resolve) | _spaceonfire\Type\Type|null_ | Resolve type for given Roave BetterReflection object and its DocBlock. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Type/Resolver/FunctionReturnTypeResolver.php:19` + + + +### \_\_construct() + +TypeResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ----------------------------------------------- | --------- | ----------- | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Type/Resolver/AbstractTypeResolver.php:33` + + + +### resolve() + +Resolve type for given Roave BetterReflection object and its DocBlock. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| `$docBlock` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +final public function resolve(object $reflection, spaceonfire\ApiDoc\Element\DocBlock\DocBlock $docBlock): spaceonfire\Type\Type|null +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Type/Resolver/AbstractTypeResolver.php:43` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Resolver/MemoizedTypeResolver.md b/docs/Element/Type/Resolver/MemoizedTypeResolver.md new file mode 100644 index 0000000..f7c783a --- /dev/null +++ b/docs/Element/Type/Resolver/MemoizedTypeResolver.md @@ -0,0 +1,75 @@ +# Class MemoizedTypeResolver + +Full name: `spaceonfire\ApiDoc\Element\Type\Resolver\MemoizedTypeResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_type_resolver_memoizedtyperesolver_construct) | | | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_element_type_resolver_memoizedtyperesolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_type_resolver_memoizedtyperesolver_resolve) | _spaceonfire\Type\Type|null_ | Resolve type for given Roave BetterReflection object and its DocBlock. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------- | ---------------------------------------------------------------- | --------- | ----------- | +| `$resolver` | _spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface $resolver) +``` + +File location: `Element/Type/Resolver/MemoizedTypeResolver.php:25` + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Type/Resolver/MemoizedTypeResolver.php:35` + + + +### resolve() + +Resolve type for given Roave BetterReflection object and its DocBlock. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| `$docBlock` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function resolve(object $reflection, spaceonfire\ApiDoc\Element\DocBlock\DocBlock $docBlock): spaceonfire\Type\Type|null +``` + +File location: `Element/Type/Resolver/MemoizedTypeResolver.php:44` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Resolver/PropertyTypeResolver.md b/docs/Element/Type/Resolver/PropertyTypeResolver.md new file mode 100644 index 0000000..4ee68c1 --- /dev/null +++ b/docs/Element/Type/Resolver/PropertyTypeResolver.md @@ -0,0 +1,80 @@ +# Class PropertyTypeResolver + +Full name: `spaceonfire\ApiDoc\Element\Type\Resolver\PropertyTypeResolver` + +Parent class name: `spaceonfire\ApiDoc\Element\Type\Resolver\AbstractTypeResolver` + +This class implements: `spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_type_resolver_propertytyperesolver_supports) | _bool_ | Checks that current resolver works with given reflection object. | [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver_construct) | | TypeResolver constructor. | [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver_resolve) | _spaceonfire\Type\Type|null_ | Resolve type for given Roave BetterReflection object and its DocBlock. | [📌](# "Final element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(object $reflection): bool +``` + +File location: `Element/Type/Resolver/PropertyTypeResolver.php:18` + + + +### \_\_construct() + +TypeResolver constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ----------------------------------------------- | --------- | ----------- | +| `$typeFactory` | _spaceonfire\Type\Factory\TypeFactoryInterface_ | No | | + +```php +public function __construct(spaceonfire\Type\Factory\TypeFactoryInterface $typeFactory) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Type/Resolver/AbstractTypeResolver.php:33` + + + +### resolve() + +Resolve type for given Roave BetterReflection object and its DocBlock. + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| `$docBlock` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +final public function resolve(object $reflection, spaceonfire\ApiDoc\Element\DocBlock\DocBlock $docBlock): spaceonfire\Type\Type|null +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/Type/Resolver/AbstractTypeResolver.php:43` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/Type/Resolver/TypeResolverInterface.md b/docs/Element/Type/Resolver/TypeResolverInterface.md new file mode 100644 index 0000000..579c027 --- /dev/null +++ b/docs/Element/Type/Resolver/TypeResolverInterface.md @@ -0,0 +1,58 @@ +# Interface TypeResolverInterface + +Full name: `spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------ | --------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_element_type_resolver_typeresolverinterface_supports) | _bool_ | Checks that current resolver works with given reflection object. | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [resolve](#spaceonfire_apidoc_element_type_resolver_typeresolverinterface_resolve) | _spaceonfire\Type\Type|null_ | Resolve type for given Roave BetterReflection object and its DocBlock. | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +Checks that current resolver works with given reflection object. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | -------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(object $reflection): bool +``` + +File location: `Element/Type/Resolver/TypeResolverInterface.php:17` + + + +### resolve() + +Resolve type for given Roave BetterReflection object and its DocBlock. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| `$docBlock` | _spaceonfire\ApiDoc\Element\DocBlock\DocBlock_ | No | | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +abstract public function resolve(object $reflection, spaceonfire\ApiDoc\Element\DocBlock\DocBlock $docBlock): spaceonfire\Type\Type|null +``` + +File location: `Element/Type/Resolver/TypeResolverInterface.php:25` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/AbstractTypedSymbol.md b/docs/Element/ValueObject/AbstractTypedSymbol.md new file mode 100644 index 0000000..ae61adc --- /dev/null +++ b/docs/Element/ValueObject/AbstractTypedSymbol.md @@ -0,0 +1,73 @@ +# Class AbstractTypedSymbol + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\AbstractTypedSymbol` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------------- | --------------------------------- | ---------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_construct) | | AbstractTypedSymbol constructor. | [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_getdescription) | _string_ | Getter for `description` property. | [📢](# "Visibility: public") | +| [getType](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_gettype) | _spaceonfire\Type\Type|null_ | Getter for `type` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +AbstractTypedSymbol constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | --------------------------------- | --------- | ----------- | +| `$description` | _string_ | No | | +| `$type` | _spaceonfire\Type\Type|null_ | No | | + +```php +public function __construct(string $description, spaceonfire\Type\Type|null $type = null) +``` + +File location: `Element/ValueObject/AbstractTypedSymbol.php:25` + + + +### getDescription() + +Getter for `description` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getDescription(): string +``` + +File location: `Element/ValueObject/AbstractTypedSymbol.php:35` + + + +### getType() + +Getter for `type` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function getType(): spaceonfire\Type\Type|null +``` + +File location: `Element/ValueObject/AbstractTypedSymbol.php:44` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/ClassMembersVisibilityFilter.md b/docs/Element/ValueObject/ClassMembersVisibilityFilter.md new file mode 100644 index 0000000..19d6ea9 --- /dev/null +++ b/docs/Element/ValueObject/ClassMembersVisibilityFilter.md @@ -0,0 +1,94 @@ +# Class ClassMembersVisibilityFilter + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\ClassMembersVisibilityFilter` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_classmembersvisibilityfilter_construct) | | ClassMembersVisibilityFilter constructor. | [📢](# "Visibility: public") | +| [forConstants](#spaceonfire_apidoc_element_valueobject_classmembersvisibilityfilter_forconstants) | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter_ | Getter for `constantsVisibilityFilter` property. | [📢](# "Visibility: public") | +| [forProperties](#spaceonfire_apidoc_element_valueobject_classmembersvisibilityfilter_forproperties) | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter_ | Getter for `propertiesVisibilityFilter` property. | [📢](# "Visibility: public") | +| [forMethods](#spaceonfire_apidoc_element_valueobject_classmembersvisibilityfilter_formethods) | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter_ | Getter for `methodsVisibilityFilter` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +ClassMembersVisibilityFilter constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------------------------- | ------------------------------------------------------------------- | --------- | ----------- | +| `$defaultVisibilityFilter` | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter_ | No | | +| `$constantsVisibilityFilter` | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter|null_ | No | | +| `$propertiesVisibilityFilter` | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter|null_ | No | | +| `$methodsVisibilityFilter` | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter|null_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter $defaultVisibilityFilter, spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter|null $constantsVisibilityFilter = null, spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter|null $propertiesVisibilityFilter = null, spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter|null $methodsVisibilityFilter = null) +``` + +File location: `Element/ValueObject/ClassMembersVisibilityFilter.php:29` + + + +### forConstants() + +Getter for `constantsVisibilityFilter` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter_ | | | + +```php +public function forConstants(): spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter +``` + +File location: `Element/ValueObject/ClassMembersVisibilityFilter.php:44` + + + +### forProperties() + +Getter for `propertiesVisibilityFilter` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter_ | | | + +```php +public function forProperties(): spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter +``` + +File location: `Element/ValueObject/ClassMembersVisibilityFilter.php:53` + + + +### forMethods() + +Getter for `methodsVisibilityFilter` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter_ | | | + +```php +public function forMethods(): spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter +``` + +File location: `Element/ValueObject/ClassMembersVisibilityFilter.php:62` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/CodeSnippet.md b/docs/Element/ValueObject/CodeSnippet.md new file mode 100644 index 0000000..5a1105c --- /dev/null +++ b/docs/Element/ValueObject/CodeSnippet.md @@ -0,0 +1,90 @@ +# Class CodeSnippet + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------ | ------------------ | ------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_codesnippet_construct) | | CodeSnippet constructor. | [📢](# "Visibility: public") | +| [getContent](#spaceonfire_apidoc_element_valueobject_codesnippet_getcontent) | _string_ | Getter for `content` property. | [📢](# "Visibility: public") | +| [getLanguage](#spaceonfire_apidoc_element_valueobject_codesnippet_getlanguage) | _string|null_ | Getter for `language` property. | [📢](# "Visibility: public") | +| [\_\_toString](#spaceonfire_apidoc_element_valueobject_codesnippet_tostring) | _string_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +CodeSnippet constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------- | ------------------ | --------- | ----------- | +| `$content` | _string_ | No | | +| `$language` | _string|null_ | No | | + +```php +public function __construct(string $content, string|null $language = null) +``` + +File location: `Element/ValueObject/CodeSnippet.php:23` + + + +### getContent() + +Getter for `content` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getContent(): string +``` + +File location: `Element/ValueObject/CodeSnippet.php:33` + + + +### getLanguage() + +Getter for `language` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------ | --------- | ----------- | +| **Return** | _string|null_ | | | + +```php +public function getLanguage(): string|null +``` + +File location: `Element/ValueObject/CodeSnippet.php:42` + + + +### \_\_toString() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function __toString(): string +``` + +File location: `Element/ValueObject/CodeSnippet.php:50` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/Example.md b/docs/Element/ValueObject/Example.md new file mode 100644 index 0000000..d91aeef --- /dev/null +++ b/docs/Element/ValueObject/Example.md @@ -0,0 +1,172 @@ +# Class Example + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\Example` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------- | ----------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_example_construct) | | Example constructor. | [📢](# "Visibility: public") | +| [getFilePath](#spaceonfire_apidoc_element_valueobject_example_getfilepath) | _string_ | Getter for `filePath` property. | [📢](# "Visibility: public") | +| [getUri](#spaceonfire_apidoc_element_valueobject_example_geturi) | _Psr\Http\Message\UriInterface|null_ | Getter for `uri` property. | [📢](# "Visibility: public") | +| [getLocation](#spaceonfire_apidoc_element_valueobject_example_getlocation) | _spaceonfire\ApiDoc\Element\Location\Location_ | Getter for `location` property. | [📢](# "Visibility: public") | +| [getStartingLine](#spaceonfire_apidoc_element_valueobject_example_getstartingline) | _int_ | Getter for `startingLine` property. | [📢](# "Visibility: public") | +| [getLineCount](#spaceonfire_apidoc_element_valueobject_example_getlinecount) | _int|null_ | Getter for `lineCount` property. | [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_valueobject_example_getdescription) | _string|null_ | Getter for `description` property. | [📢](# "Visibility: public") | +| [resolveCodeSnippet](#spaceonfire_apidoc_element_valueobject_example_resolvecodesnippet) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | Resolve and cache code snippet for this example | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +Example constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ---------------------------------------------- | --------- | ----------- | +| `$filePath` | _string_ | No | | +| `$location` | _spaceonfire\ApiDoc\Element\Location\Location_ | No | | +| `$startingLine` | _int_ | No | | +| `$lineCount` | _int|null_ | No | | +| `$description` | _string|null_ | No | | + +```php +public function __construct(string $filePath, spaceonfire\ApiDoc\Element\Location\Location $location, int $startingLine = 0, int|null $lineCount = null, string|null $description = null) +``` + +File location: `Element/ValueObject/Example.php:51` + + + +### getFilePath() + +Getter for `filePath` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getFilePath(): string +``` + +File location: `Element/ValueObject/Example.php:79` + + + +### getUri() + +Getter for `uri` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------- | --------- | ----------- | +| **Return** | _Psr\Http\Message\UriInterface|null_ | | | + +```php +public function getUri(): Psr\Http\Message\UriInterface|null +``` + +File location: `Element/ValueObject/Example.php:88` + + + +### getLocation() + +Getter for `location` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\Location\Location_ | | | + +```php +public function getLocation(): spaceonfire\ApiDoc\Element\Location\Location +``` + +File location: `Element/ValueObject/Example.php:97` + + + +### getStartingLine() + +Getter for `startingLine` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----- | --------- | ----------- | +| **Return** | _int_ | | | + +```php +public function getStartingLine(): int +``` + +File location: `Element/ValueObject/Example.php:106` + + + +### getLineCount() + +Getter for `lineCount` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------- | --------- | ----------- | +| **Return** | _int|null_ | | | + +```php +public function getLineCount(): int|null +``` + +File location: `Element/ValueObject/Example.php:115` + + + +### getDescription() + +Getter for `description` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------ | --------- | ----------- | +| **Return** | _string|null_ | | | + +```php +public function getDescription(): string|null +``` + +File location: `Element/ValueObject/Example.php:124` + + + +### resolveCodeSnippet() + +Resolve and cache code snippet for this example + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------- | --------------------------------------------------------------- | --------- | ----------- | +| `$resolver` | _spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet_ | | | + +```php +public function resolveCodeSnippet(spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver $resolver): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet +``` + +File location: `Element/ValueObject/Example.php:134` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/ExternalLink.md b/docs/Element/ValueObject/ExternalLink.md new file mode 100644 index 0000000..63601e7 --- /dev/null +++ b/docs/Element/ValueObject/ExternalLink.md @@ -0,0 +1,94 @@ +# Class ExternalLink + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\ExternalLink` + +This class implements: `spaceonfire\ApiDoc\Element\ValueObject\LinkInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | ------------------------------------------ | ------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_externallink_construct) | | ExternalLink constructor. | [📢](# "Visibility: public") | +| [getTarget](#spaceonfire_apidoc_element_valueobject_externallink_gettarget) | _mixed|Psr\Http\Message\UriInterface_ | Returns link target | [📢](# "Visibility: public") | +| [getText](#spaceonfire_apidoc_element_valueobject_externallink_gettext) | _string_ | Returns link text | [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_valueobject_externallink_getdescription) | _string|null_ | Returns link description | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +ExternalLink constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ------------------------------- | --------- | ----------- | +| `$target` | _Psr\Http\Message\UriInterface_ | No | | +| `$description` | _string|null_ | No | | + +```php +public function __construct(Psr\Http\Message\UriInterface $target, string|null $description = null) +``` + +File location: `Element/ValueObject/ExternalLink.php:25` + + + +### getTarget() + +Returns link target + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------ | --------- | ----------- | +| **Return** | _mixed|Psr\Http\Message\UriInterface_ | | | + +```php +public function getTarget(): mixed|Psr\Http\Message\UriInterface +``` + +File location: `Element/ValueObject/ExternalLink.php:34` + + + +### getText() + +Returns link text + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getText(): string +``` + +File location: `Element/ValueObject/ExternalLink.php:42` + + + +### getDescription() + +Returns link description + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------ | --------- | ----------- | +| **Return** | _string|null_ | | | + +```php +public function getDescription(): string|null +``` + +File location: `Element/ValueObject/ExternalLink.php:50` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/Fqsen.md b/docs/Element/ValueObject/Fqsen.md new file mode 100644 index 0000000..160009f --- /dev/null +++ b/docs/Element/ValueObject/Fqsen.md @@ -0,0 +1,151 @@ +# Class Fqsen + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\Fqsen` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------ | ---------------------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_fqsen_construct) | | | [📢](# "Visibility: public") | +| [\_\_toString](#spaceonfire_apidoc_element_valueobject_fqsen_tostring) | _string_ | | [📢](# "Visibility: public") | +| [getName](#spaceonfire_apidoc_element_valueobject_fqsen_getname) | _string_ | | [📢](# "Visibility: public") | +| [getShortName](#spaceonfire_apidoc_element_valueobject_fqsen_getshortname) | _string_ | | [📢](# "Visibility: public") | +| [getNamespace](#spaceonfire_apidoc_element_valueobject_fqsen_getnamespace) | _string_ | | [📢](# "Visibility: public") | +| [getClassName](#spaceonfire_apidoc_element_valueobject_fqsen_getclassname) | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | [📢](# "Visibility: public") | +| [isPrefixedWithClassName](#spaceonfire_apidoc_element_valueobject_fqsen_isprefixedwithclassname) | _bool_ | | [📢](# "Visibility: public") | +| [withoutClassName](#spaceonfire_apidoc_element_valueobject_fqsen_withoutclassname) | _string_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------- | -------- | --------- | ----------- | +| `$fqsen` | _string_ | No | | + +```php +public function __construct(string $fqsen) +``` + +File location: `Element/ValueObject/Fqsen.php:26` + + + +### \_\_toString() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function __toString(): string +``` + +File location: `Element/ValueObject/Fqsen.php:38` + + + +### getName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getName(): string +``` + +File location: `Element/ValueObject/Fqsen.php:43` + + + +### getShortName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getShortName(): string +``` + +File location: `Element/ValueObject/Fqsen.php:48` + + + +### getNamespace() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getNamespace(): string +``` + +File location: `Element/ValueObject/Fqsen.php:53` + + + +### getClassName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | | + +```php +public function getClassName(): spaceonfire\ApiDoc\Element\ValueObject\Fqsen +``` + +File location: `Element/ValueObject/Fqsen.php:58` + + + +### isPrefixedWithClassName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function isPrefixedWithClassName(): bool +``` + +File location: `Element/ValueObject/Fqsen.php:68` + + + +### withoutClassName() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function withoutClassName(): string +``` + +File location: `Element/ValueObject/Fqsen.php:73` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/FqsenLink.md b/docs/Element/ValueObject/FqsenLink.md new file mode 100644 index 0000000..120b3f8 --- /dev/null +++ b/docs/Element/ValueObject/FqsenLink.md @@ -0,0 +1,94 @@ +# Class FqsenLink + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\FqsenLink` + +This class implements: `spaceonfire\ApiDoc\Element\ValueObject\LinkInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------ | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_fqsenlink_construct) | | FqsenLink constructor. | [📢](# "Visibility: public") | +| [getTarget](#spaceonfire_apidoc_element_valueobject_fqsenlink_gettarget) | _mixed|spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | Returns link target | [📢](# "Visibility: public") | +| [getText](#spaceonfire_apidoc_element_valueobject_fqsenlink_gettext) | _string_ | Returns link text | [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_valueobject_fqsenlink_getdescription) | _string|null_ | Returns link description | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +FqsenLink constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | ---------------------------------------------- | --------- | ----------- | +| `$target` | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | No | | +| `$description` | _string|null_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\ValueObject\Fqsen $target, string|null $description = null) +``` + +File location: `Element/ValueObject/FqsenLink.php:23` + + + +### getTarget() + +Returns link target + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------------- | --------- | ----------- | +| **Return** | _mixed|spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | | | + +```php +public function getTarget(): mixed|spaceonfire\ApiDoc\Element\ValueObject\Fqsen +``` + +File location: `Element/ValueObject/FqsenLink.php:32` + + + +### getText() + +Returns link text + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getText(): string +``` + +File location: `Element/ValueObject/FqsenLink.php:40` + + + +### getDescription() + +Returns link description + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------ | --------- | ----------- | +| **Return** | _string|null_ | | | + +```php +public function getDescription(): string|null +``` + +File location: `Element/ValueObject/FqsenLink.php:48` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/FunctionParameter.md b/docs/Element/ValueObject/FunctionParameter.md new file mode 100644 index 0000000..721edf7 --- /dev/null +++ b/docs/Element/ValueObject/FunctionParameter.md @@ -0,0 +1,155 @@ +# Class FunctionParameter + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\FunctionParameter` + +Parent class name: `spaceonfire\ApiDoc\Element\ValueObject\AbstractTypedSymbol` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_functionparameter_construct) | | Argument constructor. | [📢](# "Visibility: public") | +| [getName](#spaceonfire_apidoc_element_valueobject_functionparameter_getname) | _string_ | Getter for `name` property. | [📢](# "Visibility: public") | +| [isVariadic](#spaceonfire_apidoc_element_valueobject_functionparameter_isvariadic) | _bool_ | Getter for `variadic` property. | [📢](# "Visibility: public") | +| [isPassedByReference](#spaceonfire_apidoc_element_valueobject_functionparameter_ispassedbyreference) | _bool_ | Getter for `passedByReference` property. | [📢](# "Visibility: public") | +| [getDefaultValue](#spaceonfire_apidoc_element_valueobject_functionparameter_getdefaultvalue) | _spaceonfire\ApiDoc\Element\ValueObject\Value|null_ | Getter for `defaultValue` property. | [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_getdescription) | _string_ | Getter for `description` property. | [📢](# "Visibility: public") | +| [getType](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_gettype) | _spaceonfire\Type\Type|null_ | Getter for `type` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +Argument constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | -------------------------------------------------------- | --------- | ----------- | +| `$name` | _string_ | No | | +| `$description` | _string_ | No | | +| `$type` | _spaceonfire\Type\Type|null_ | No | | +| `$variadic` | _bool_ | No | | +| `$passedByReference` | _bool_ | No | | +| `$defaultValue` | _spaceonfire\ApiDoc\Element\ValueObject\Value|null_ | No | | + +```php +public function __construct(string $name, string $description, spaceonfire\Type\Type|null $type = null, bool $variadic = false, bool $passedByReference = false, spaceonfire\ApiDoc\Element\ValueObject\Value|null $defaultValue = null) +``` + +File location: `Element/ValueObject/FunctionParameter.php:37` + + + +### getName() + +Getter for `name` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getName(): string +``` + +File location: `Element/ValueObject/FunctionParameter.php:57` + + + +### isVariadic() + +Getter for `variadic` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function isVariadic(): bool +``` + +File location: `Element/ValueObject/FunctionParameter.php:66` + + + +### isPassedByReference() + +Getter for `passedByReference` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function isPassedByReference(): bool +``` + +File location: `Element/ValueObject/FunctionParameter.php:75` + + + +### getDefaultValue() + +Getter for `defaultValue` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\Value|null_ | | | + +```php +public function getDefaultValue(): spaceonfire\ApiDoc\Element\ValueObject\Value|null +``` + +File location: `Element/ValueObject/FunctionParameter.php:84` + + + +### getDescription() + +Getter for `description` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getDescription(): string +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/ValueObject/AbstractTypedSymbol.php:35` + + + +### getType() + +Getter for `type` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function getType(): spaceonfire\Type\Type|null +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/ValueObject/AbstractTypedSymbol.php:44` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/FunctionReturn.md b/docs/Element/ValueObject/FunctionReturn.md new file mode 100644 index 0000000..525ef6e --- /dev/null +++ b/docs/Element/ValueObject/FunctionReturn.md @@ -0,0 +1,75 @@ +# Class FunctionReturn + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\FunctionReturn` + +Parent class name: `spaceonfire\ApiDoc\Element\ValueObject\AbstractTypedSymbol` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------------- | --------------------------------- | ---------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_construct) | | AbstractTypedSymbol constructor. | [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_getdescription) | _string_ | Getter for `description` property. | [📢](# "Visibility: public") | +| [getType](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_gettype) | _spaceonfire\Type\Type|null_ | Getter for `type` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +AbstractTypedSymbol constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | --------------------------------- | --------- | ----------- | +| `$description` | _string_ | No | | +| `$type` | _spaceonfire\Type\Type|null_ | No | | + +```php +public function __construct(string $description, spaceonfire\Type\Type|null $type = null) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/ValueObject/AbstractTypedSymbol.php:25` + + + +### getDescription() + +Getter for `description` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getDescription(): string +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/ValueObject/AbstractTypedSymbol.php:35` + + + +### getType() + +Getter for `type` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function getType(): spaceonfire\Type\Type|null +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/ValueObject/AbstractTypedSymbol.php:44` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/FunctionThrows.md b/docs/Element/ValueObject/FunctionThrows.md new file mode 100644 index 0000000..4c3feb2 --- /dev/null +++ b/docs/Element/ValueObject/FunctionThrows.md @@ -0,0 +1,75 @@ +# Class FunctionThrows + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\FunctionThrows` + +Parent class name: `spaceonfire\ApiDoc\Element\ValueObject\AbstractTypedSymbol` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------------- | --------------------------------- | ---------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_construct) | | AbstractTypedSymbol constructor. | [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_getdescription) | _string_ | Getter for `description` property. | [📢](# "Visibility: public") | +| [getType](#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol_gettype) | _spaceonfire\Type\Type|null_ | Getter for `type` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +AbstractTypedSymbol constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------- | --------------------------------- | --------- | ----------- | +| `$description` | _string_ | No | | +| `$type` | _spaceonfire\Type\Type|null_ | No | | + +```php +public function __construct(string $description, spaceonfire\Type\Type|null $type = null) +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/ValueObject/AbstractTypedSymbol.php:25` + + + +### getDescription() + +Getter for `description` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getDescription(): string +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/ValueObject/AbstractTypedSymbol.php:35` + + + +### getType() + +Getter for `type` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\Type\Type|null_ | | | + +```php +public function getType(): spaceonfire\Type\Type|null +``` + +File location: `/var/www/html/vendor/composer/../../src/Element/ValueObject/AbstractTypedSymbol.php:44` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/LinkInterface.md b/docs/Element/ValueObject/LinkInterface.md new file mode 100644 index 0000000..f6249f1 --- /dev/null +++ b/docs/Element/ValueObject/LinkInterface.md @@ -0,0 +1,75 @@ +# Interface LinkInterface + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\LinkInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------- | ------------------ | ------------------------ | ------------------------------------------------------- | +| _Methods_ | | | | +| [getTarget](#spaceonfire_apidoc_element_valueobject_linkinterface_gettarget) | _mixed_ | Returns link target | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [getText](#spaceonfire_apidoc_element_valueobject_linkinterface_gettext) | _string_ | Returns link text | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [getDescription](#spaceonfire_apidoc_element_valueobject_linkinterface_getdescription) | _string|null_ | Returns link description | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### getTarget() + +Returns link target + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _mixed_ | | | + +```php +abstract public function getTarget(): mixed +``` + +File location: `Element/ValueObject/LinkInterface.php:13` + + + +### getText() + +Returns link text + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +abstract public function getText(): string +``` + +File location: `Element/ValueObject/LinkInterface.php:19` + + + +### getDescription() + +Returns link description + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------ | --------- | ----------- | +| **Return** | _string|null_ | | | + +```php +abstract public function getDescription(): string|null +``` + +File location: `Element/ValueObject/LinkInterface.php:25` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/Value.md b/docs/Element/ValueObject/Value.md new file mode 100644 index 0000000..a270fc1 --- /dev/null +++ b/docs/Element/ValueObject/Value.md @@ -0,0 +1,53 @@ +# Class Value + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\Value` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------ | ------- | ---------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_value_construct) | | Value constructor. | [📢](# "Visibility: public") | +| [getValue](#spaceonfire_apidoc_element_valueobject_value_getvalue) | _mixed_ | Getter for `value` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +Value constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------- | ------- | --------- | ----------- | +| `$value` | _mixed_ | No | | + +```php +public function __construct(mixed $value) +``` + +File location: `Element/ValueObject/Value.php:18` + + + +### getValue() + +Getter for `value` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _mixed_ | | | + +```php +public function getValue(): mixed +``` + +File location: `Element/ValueObject/Value.php:27` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/Visibility.md b/docs/Element/ValueObject/Visibility.md new file mode 100644 index 0000000..d01eb24 --- /dev/null +++ b/docs/Element/ValueObject/Visibility.md @@ -0,0 +1,284 @@ +# Class Visibility + +Class Visibility + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\Visibility` + +Parent class name: `spaceonfire\ValueObject\EnumValue` + +This class implements: `JsonSerializable` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | ----------------------------------------------------- | +| _Constants_ | | | | +| [PUBLIC](#spaceonfire_apidoc_element_valueobject_visibility_public) | | | [📢](# "Visibility: public") | +| [PROTECTED](#spaceonfire_apidoc_element_valueobject_visibility_protected) | | | [📢](# "Visibility: public") | +| [PRIVATE](#spaceonfire_apidoc_element_valueobject_visibility_private) | | | [📢](# "Visibility: public") | +| _Methods_ | | | | +| [equals](#spaceonfire_valueobject_enumvalue_equals) | _bool_ | Checks that current VO is bigger than provided one. | [📢](# "Visibility: public") | +| [\_\_callStatic](#spaceonfire_valueobject_enumvalue_callstatic) | _spaceonfire\ValueObject\EnumValue_ | Support for magic methods | [🇸](# "Static element") [📢](# "Visibility: public") | +| [randomValue](#spaceonfire_valueobject_enumvalue_randomvalue) | _mixed|string_ | Returns random value for this enum class. | [🇸](# "Static element") [📢](# "Visibility: public") | +| [random](#spaceonfire_valueobject_enumvalue_random) | _spaceonfire\ValueObject\EnumValue_ | Creates new enum VO with random value. | [🇸](# "Static element") [📢](# "Visibility: public") | +| [values](#spaceonfire_valueobject_enumvalue_values) | _mixed[]|array_ | Returns values array for this enum class. | [🇸](# "Static element") [📢](# "Visibility: public") | +| [\_\_construct](#spaceonfire_valueobject_basevalueobject_construct) | | VO constructor | [📌](# "Final element") [📢](# "Visibility: public") | +| [value](#spaceonfire_valueobject_basevalueobject_value) | _mixed_ | Returns inner value of VO | [📢](# "Visibility: public") | +| [\_\_toString](#spaceonfire_valueobject_basevalueobject_tostring) | _string_ | Cast VO to string | [📢](# "Visibility: public") | +| [jsonSerialize](#spaceonfire_valueobject_basevalueobject_jsonserialize) | _mixed|string_ | Specify data which should be serialized to JSON | [📢](# "Visibility: public") | +| _Magic methods_ | | | | +| [public](#spaceonfire_apidoc_element_valueobject_visibility_public) | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | | [🇸](# "Static element") [📢](# "Visibility: public") | +| [protected](#spaceonfire_apidoc_element_valueobject_visibility_protected) | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | | [🇸](# "Static element") [📢](# "Visibility: public") | +| [private](#spaceonfire_apidoc_element_valueobject_visibility_private) | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | | [🇸](# "Static element") [📢](# "Visibility: public") | + +## Constants + + + +### PUBLIC + +- **Visibility**: public +- **Value**: `'public'` + +File location: `Element/ValueObject/Visibility.php:18` + + + +### PROTECTED + +- **Visibility**: public +- **Value**: `'protected'` + +File location: `Element/ValueObject/Visibility.php:19` + + + +### PRIVATE + +- **Visibility**: public +- **Value**: `'private'` + +File location: `Element/ValueObject/Visibility.php:20` + +## Methods + + + +### equals() + +Checks that current VO is bigger than provided one. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------- | --------- | ----------- | +| `$other` | _spaceonfire\ValueObject\EnumValue_ | No | | +| **Return** | _bool_ | | | + +```php +public function equals(spaceonfire\ValueObject\EnumValue $other): bool +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/EnumValue.php:51` + + + +### \_\_callStatic() + +Support for magic methods + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------- | --------- | ----------- | +| `$name` | _string_ | No | | +| `$args` | _mixed[]_ | No | | +| **Return** | _spaceonfire\ValueObject\EnumValue_ | | | + +```php +public static function __callStatic(string $name, mixed[] $args): spaceonfire\ValueObject\EnumValue +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/EnumValue.php:63` + + + +### randomValue() + +Returns random value for this enum class. + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | ------------------- | --------- | ----------- | +| **Return** | _mixed|string_ | | | + +```php +public static function randomValue(): mixed|string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/EnumValue.php:72` + + + +### random() + +Creates new enum VO with random value. + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ValueObject\EnumValue_ | | | + +```php +public static function random(): spaceonfire\ValueObject\EnumValue +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/EnumValue.php:81` + + + +### values() + +Returns values array for this enum class. + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | -------------------- | --------- | ----------- | +| **Return** | _mixed[]|array_ | | | + +```php +public static function values(): mixed[]|array +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/EnumValue.php:90` + + + +### \_\_construct() + +VO constructor + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------- | ------- | --------- | ----------- | +| `$value` | _mixed_ | No | | + +```php +final public function __construct(mixed $value) +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/BaseValueObject.php:22` + + + +### value() + +Returns inner value of VO + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _mixed_ | | | + +```php +public function value(): mixed +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/BaseValueObject.php:71` + + + +### \_\_toString() + +Cast VO to string + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function __toString(): string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/BaseValueObject.php:80` + + + +### jsonSerialize() + +Specify data which should be serialized to JSON + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------- | --------- | ----------- | +| **Return** | _mixed|string_ | | | + +```php +public function jsonSerialize(): mixed|string +``` + +File location: `/var/www/html/vendor/composer/../spaceonfire/value-object/src/BaseValueObject.php:89` + +## Magic methods + + + +### public() + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | | | + +```php +public static function public(): spaceonfire\ApiDoc\Element\ValueObject\Visibility +``` + + + +### protected() + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | | | + +```php +public static function protected(): spaceonfire\ApiDoc\Element\ValueObject\Visibility +``` + + + +### private() + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | | | + +```php +public static function private(): spaceonfire\ApiDoc\Element\ValueObject\Visibility +``` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Element/ValueObject/VisibilityFilter.md b/docs/Element/ValueObject/VisibilityFilter.md new file mode 100644 index 0000000..3b5f5ed --- /dev/null +++ b/docs/Element/ValueObject/VisibilityFilter.md @@ -0,0 +1,83 @@ +# Class VisibilityFilter + +Full name: `spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------- | ------ | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_element_valueobject_visibilityfilter_construct) | | | [📢](# "Visibility: public") | +| [hasPublic](#spaceonfire_apidoc_element_valueobject_visibilityfilter_haspublic) | _bool_ | | [📢](# "Visibility: public") | +| [hasProtected](#spaceonfire_apidoc_element_valueobject_visibilityfilter_hasprotected) | _bool_ | | [📢](# "Visibility: public") | +| [hasPrivate](#spaceonfire_apidoc_element_valueobject_visibilityfilter_hasprivate) | _bool_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | --------------------------------------------------- | --------- | ----------- | +| `...$visibilities` | _spaceonfire\ApiDoc\Element\ValueObject\Visibility_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\ValueObject\Visibility ...$visibilities) +``` + +File location: `Element/ValueObject/VisibilityFilter.php:17` + + + +### hasPublic() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function hasPublic(): bool +``` + +File location: `Element/ValueObject/VisibilityFilter.php:33` + + + +### hasProtected() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function hasProtected(): bool +``` + +File location: `Element/ValueObject/VisibilityFilter.php:38` + + + +### hasPrivate() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------ | --------- | ----------- | +| **Return** | _bool_ | | | + +```php +public function hasPrivate(): bool +``` + +File location: `Element/ValueObject/VisibilityFilter.php:43` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Exception/GivenReflectionNotSupported.md b/docs/Exception/GivenReflectionNotSupported.md new file mode 100644 index 0000000..2384d93 --- /dev/null +++ b/docs/Exception/GivenReflectionNotSupported.md @@ -0,0 +1,263 @@ +# Class GivenReflectionNotSupported + +Full name: `spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported` + +Parent class name: `UnexpectedValueException` + +This class implements: `Throwable` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------- | +| _Methods_ | | | | +| [byElementFactory](#spaceonfire_apidoc_exception_givenreflectionnotsupported_byelementfactory) | _spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported_ | | [🇸](# "Static element") [📢](# "Visibility: public") | +| [byDocBlockResolver](#spaceonfire_apidoc_exception_givenreflectionnotsupported_bydocblockresolver) | _spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported_ | | [🇸](# "Static element") [📢](# "Visibility: public") | +| [forReason](#spaceonfire_apidoc_exception_givenreflectionnotsupported_forreason) | _spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported_ | | [🇸](# "Static element") [📢](# "Visibility: public") | +| [getMessage](#exception_getmessage) | _string_ | Gets the Exception message | [📌](# "Final element") [📢](# "Visibility: public") | +| [getCode](#exception_getcode) | _mixed|int_ | Gets the Exception code | [📌](# "Final element") [📢](# "Visibility: public") | +| [getFile](#exception_getfile) | _string_ | Gets the file in which the exception occurred | [📌](# "Final element") [📢](# "Visibility: public") | +| [getLine](#exception_getline) | _int_ | Gets the line in which the exception occurred | [📌](# "Final element") [📢](# "Visibility: public") | +| [getTrace](#exception_gettrace) | _mixed[]_ | Gets the stack trace | [📌](# "Final element") [📢](# "Visibility: public") | +| [getPrevious](#exception_getprevious) | _Exception_ | Returns previous Exception | [📌](# "Final element") [📢](# "Visibility: public") | +| [getTraceAsString](#exception_gettraceasstring) | _string_ | Gets the stack trace as a string | [📌](# "Final element") [📢](# "Visibility: public") | +| [\_\_toString](#exception_tostring) | _string_ | String representation of the exception | [📢](# "Visibility: public") | +| [\_\_wakeup](#exception_wakeup) | | | [📢](# "Visibility: public") | + +## Methods + + + +### byElementFactory() + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported_ | | | + +```php +public static function byElementFactory(object $reflection): spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported +``` + +File location: `Exception/GivenReflectionNotSupported.php:17` + + + +### byDocBlockResolver() + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| **Return** | _spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported_ | | | + +```php +public static function byDocBlockResolver(object $reflection): spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported +``` + +File location: `Exception/GivenReflectionNotSupported.php:25` + + + +### forReason() + +- **Visibility**: public +- **Static**: Yes + +| Param | Type | Reference | Description | +| ------------- | ---------------------------------------------------------- | --------- | ----------- | +| `$reflection` | _object_ | No | | +| `$reason` | _string_ | No | | +| **Return** | _spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported_ | | | + +```php +public static function forReason(object $reflection, string $reason = ''): spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported +``` + +File location: `Exception/GivenReflectionNotSupported.php:33` + + + +### getMessage() + +Gets the Exception message + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ---------------------------------- | +| **Return** | _string_ | | the Exception message as a string. | + +```php +final public function getMessage(): string +``` + +**Links**: + +- [https://php.net/manual/en/exception.getmessage.php](https://php.net/manual/en/exception.getmessage.php) + + + +### getCode() + +Gets the Exception code + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Return** | _mixed|int_ | | the exception code as integer in
Exception but possibly as other type in
Exception descendants (for example as
string in PDOException). | + +```php +final public function getCode(): mixed|int +``` + +**Links**: + +- [https://php.net/manual/en/exception.getcode.php](https://php.net/manual/en/exception.getcode.php) + + + +### getFile() + +Gets the file in which the exception occurred + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------------------------------ | +| **Return** | _string_ | | the filename in which the exception was created. | + +```php +final public function getFile(): string +``` + +**Links**: + +- [https://php.net/manual/en/exception.getfile.php](https://php.net/manual/en/exception.getfile.php) + + + +### getLine() + +Gets the line in which the exception occurred + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----- | --------- | ------------------------------------------------ | +| **Return** | _int_ | | the line number where the exception was created. | + +```php +final public function getLine(): int +``` + +**Links**: + +- [https://php.net/manual/en/exception.getline.php](https://php.net/manual/en/exception.getline.php) + + + +### getTrace() + +Gets the stack trace + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------- | --------- | -------------------------------------- | +| **Return** | _mixed[]_ | | the Exception stack trace as an array. | + +```php +final public function getTrace(): mixed[] +``` + +**Links**: + +- [https://php.net/manual/en/exception.gettrace.php](https://php.net/manual/en/exception.gettrace.php) + + + +### getPrevious() + +Returns previous Exception + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------- | --------- | ---------------------------------------------------------------- | +| **Return** | _Exception_ | | the previous Exception if available
or null otherwise. | + +```php +final public function getPrevious(): Exception +``` + +**Links**: + +- [https://php.net/manual/en/exception.getprevious.php](https://php.net/manual/en/exception.getprevious.php) + + + +### getTraceAsString() + +Gets the stack trace as a string + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | -------------------------------------- | +| **Return** | _string_ | | the Exception stack trace as a string. | + +```php +final public function getTraceAsString(): string +``` + +**Links**: + +- [https://php.net/manual/en/exception.gettraceasstring.php](https://php.net/manual/en/exception.gettraceasstring.php) + + + +### \_\_toString() + +String representation of the exception + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------------------------- | +| **Return** | _string_ | | the string representation of the exception. | + +```php +public function __toString(): string +``` + +**Links**: + +- [https://php.net/manual/en/exception.tostring.php](https://php.net/manual/en/exception.tostring.php) + + + +### \_\_wakeup() + +- **Visibility**: public + +```php +public function __wakeup() +``` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Exception/TypeCannotBeConverted.md b/docs/Exception/TypeCannotBeConverted.md new file mode 100644 index 0000000..2b4393d --- /dev/null +++ b/docs/Exception/TypeCannotBeConverted.md @@ -0,0 +1,222 @@ +# Class TypeCannotBeConverted + +Full name: `spaceonfire\ApiDoc\Exception\TypeCannotBeConverted` + +Parent class name: `UnexpectedValueException` + +This class implements: `Throwable` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------ | ---------------- | --------------------------------------------- | ---------------------------------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_exception_typecannotbeconverted_construct) | | | [📢](# "Visibility: public") | +| [getMessage](#exception_getmessage) | _string_ | Gets the Exception message | [📌](# "Final element") [📢](# "Visibility: public") | +| [getCode](#exception_getcode) | _mixed|int_ | Gets the Exception code | [📌](# "Final element") [📢](# "Visibility: public") | +| [getFile](#exception_getfile) | _string_ | Gets the file in which the exception occurred | [📌](# "Final element") [📢](# "Visibility: public") | +| [getLine](#exception_getline) | _int_ | Gets the line in which the exception occurred | [📌](# "Final element") [📢](# "Visibility: public") | +| [getTrace](#exception_gettrace) | _mixed[]_ | Gets the stack trace | [📌](# "Final element") [📢](# "Visibility: public") | +| [getPrevious](#exception_getprevious) | _Exception_ | Returns previous Exception | [📌](# "Final element") [📢](# "Visibility: public") | +| [getTraceAsString](#exception_gettraceasstring) | _string_ | Gets the stack trace as a string | [📌](# "Final element") [📢](# "Visibility: public") | +| [\_\_toString](#exception_tostring) | _string_ | String representation of the exception | [📢](# "Visibility: public") | +| [\_\_wakeup](#exception_wakeup) | | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------- | ------------------------------- | --------- | ----------- | +| `$type` | _phpDocumentor\Reflection\Type_ | No | | + +```php +public function __construct(phpDocumentor\Reflection\Type $type) +``` + +File location: `Exception/TypeCannotBeConverted.php:12` + + + +### getMessage() + +Gets the Exception message + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ---------------------------------- | +| **Return** | _string_ | | the Exception message as a string. | + +```php +final public function getMessage(): string +``` + +**Links**: + +- [https://php.net/manual/en/exception.getmessage.php](https://php.net/manual/en/exception.getmessage.php) + + + +### getCode() + +Gets the Exception code + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Return** | _mixed|int_ | | the exception code as integer in
Exception but possibly as other type in
Exception descendants (for example as
string in PDOException). | + +```php +final public function getCode(): mixed|int +``` + +**Links**: + +- [https://php.net/manual/en/exception.getcode.php](https://php.net/manual/en/exception.getcode.php) + + + +### getFile() + +Gets the file in which the exception occurred + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------------------------------ | +| **Return** | _string_ | | the filename in which the exception was created. | + +```php +final public function getFile(): string +``` + +**Links**: + +- [https://php.net/manual/en/exception.getfile.php](https://php.net/manual/en/exception.getfile.php) + + + +### getLine() + +Gets the line in which the exception occurred + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----- | --------- | ------------------------------------------------ | +| **Return** | _int_ | | the line number where the exception was created. | + +```php +final public function getLine(): int +``` + +**Links**: + +- [https://php.net/manual/en/exception.getline.php](https://php.net/manual/en/exception.getline.php) + + + +### getTrace() + +Gets the stack trace + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------- | --------- | -------------------------------------- | +| **Return** | _mixed[]_ | | the Exception stack trace as an array. | + +```php +final public function getTrace(): mixed[] +``` + +**Links**: + +- [https://php.net/manual/en/exception.gettrace.php](https://php.net/manual/en/exception.gettrace.php) + + + +### getPrevious() + +Returns previous Exception + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------- | --------- | ---------------------------------------------------------------- | +| **Return** | _Exception_ | | the previous Exception if available
or null otherwise. | + +```php +final public function getPrevious(): Exception +``` + +**Links**: + +- [https://php.net/manual/en/exception.getprevious.php](https://php.net/manual/en/exception.getprevious.php) + + + +### getTraceAsString() + +Gets the stack trace as a string + +- **Final method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | -------------------------------------- | +| **Return** | _string_ | | the Exception stack trace as a string. | + +```php +final public function getTraceAsString(): string +``` + +**Links**: + +- [https://php.net/manual/en/exception.gettraceasstring.php](https://php.net/manual/en/exception.gettraceasstring.php) + + + +### \_\_toString() + +String representation of the exception + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------------------------- | +| **Return** | _string_ | | the string representation of the exception. | + +```php +public function __toString(): string +``` + +**Links**: + +- [https://php.net/manual/en/exception.tostring.php](https://php.net/manual/en/exception.tostring.php) + + + +### \_\_wakeup() + +- **Visibility**: public + +```php +public function __wakeup() +``` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Generator/ApiDocGenerator.md b/docs/Generator/ApiDocGenerator.md new file mode 100644 index 0000000..084f814 --- /dev/null +++ b/docs/Generator/ApiDocGenerator.md @@ -0,0 +1,57 @@ +# Class ApiDocGenerator + +Full name: `spaceonfire\ApiDoc\Generator\ApiDocGenerator` + +This class implements: `spaceonfire\ApiDoc\Generator\GeneratorInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------ | --------------------------------------------------- | ---------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_generator_apidocgenerator_construct) | | ApiDocGenerator constructor. | [📢](# "Visibility: public") | +| [generate](#spaceonfire_apidoc_generator_apidocgenerator_generate) | _spaceonfire\ApiDoc\Generator\File[]|iterable_ | Generates apiDoc for given project | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +ApiDocGenerator constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------- | -------------------------------------------------------- | --------- | ----------- | +| `$renderer` | _spaceonfire\ApiDoc\Render\RendererInterface_ | No | | +| `$fileNameStrategy` | _spaceonfire\ApiDoc\Generator\FileNameStrategyInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Render\RendererInterface $renderer, spaceonfire\ApiDoc\Generator\FileNameStrategyInterface $fileNameStrategy) +``` + +File location: `Generator/ApiDocGenerator.php:26` + + + +### generate() + +Generates apiDoc for given project + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------- | --------- | ----------- | +| `$project` | _spaceonfire\ApiDoc\Project\Project_ | No | | +| **Return** | _spaceonfire\ApiDoc\Generator\File[]|iterable_ | | | + +```php +public function generate(spaceonfire\ApiDoc\Project\Project $project): spaceonfire\ApiDoc\Generator\File[]|iterable +``` + +File location: `Generator/ApiDocGenerator.php:35` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Generator/File.md b/docs/Generator/File.md new file mode 100644 index 0000000..80dbadc --- /dev/null +++ b/docs/Generator/File.md @@ -0,0 +1,73 @@ +# Class File + +Full name: `spaceonfire\ApiDoc\Generator\File` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------- | -------- | ------------------------------ | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_generator_file_construct) | | File constructor. | [📢](# "Visibility: public") | +| [getName](#spaceonfire_apidoc_generator_file_getname) | _string_ | Getter for `name` property. | [📢](# "Visibility: public") | +| [getContent](#spaceonfire_apidoc_generator_file_getcontent) | _string_ | Getter for `content` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +File constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$name` | _string_ | No | | +| `$content` | _string_ | No | | + +```php +public function __construct(string $name, string $content) +``` + +File location: `Generator/File.php:23` + + + +### getName() + +Getter for `name` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getName(): string +``` + +File location: `Generator/File.php:33` + + + +### getContent() + +Getter for `content` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getContent(): string +``` + +File location: `Generator/File.php:42` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Generator/FileNameStrategy.md b/docs/Generator/FileNameStrategy.md new file mode 100644 index 0000000..11d6681 --- /dev/null +++ b/docs/Generator/FileNameStrategy.md @@ -0,0 +1,55 @@ +# Class FileNameStrategy + +Full name: `spaceonfire\ApiDoc\Generator\FileNameStrategy` + +This class implements: `spaceonfire\ApiDoc\Generator\FileNameStrategyInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------- | -------- | ----------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_generator_filenamestrategy_construct) | | FileNameStrategy constructor. | [📢](# "Visibility: public") | +| [generate](#spaceonfire_apidoc_generator_filenamestrategy_generate) | _string_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +FileNameStrategy constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------------- | -------- | --------- | ----------- | +| `$baseNamespace` | _string_ | No | | +| `$fileExtension` | _string_ | No | | + +```php +public function __construct(string $baseNamespace, string $fileExtension) +``` + +File location: `Generator/FileNameStrategy.php:25` + + + +### generate() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| `$fqsen` | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | No | | +| **Return** | _string_ | | | + +```php +public function generate(spaceonfire\ApiDoc\Element\ValueObject\Fqsen $fqsen): string +``` + +File location: `Generator/FileNameStrategy.php:34` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Generator/FileNameStrategyInterface.md b/docs/Generator/FileNameStrategyInterface.md new file mode 100644 index 0000000..246bc9f --- /dev/null +++ b/docs/Generator/FileNameStrategyInterface.md @@ -0,0 +1,34 @@ +# Interface FileNameStrategyInterface + +Full name: `spaceonfire\ApiDoc\Generator\FileNameStrategyInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ---------------------------------------------------------------------------- | -------- | ------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [generate](#spaceonfire_apidoc_generator_filenamestrategyinterface_generate) | _string_ | | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### generate() + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| `$fqsen` | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | No | | +| **Return** | _string_ | | | + +```php +abstract public function generate(spaceonfire\ApiDoc\Element\ValueObject\Fqsen $fqsen): string +``` + +File location: `Generator/FileNameStrategyInterface.php:15` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Generator/GeneratorInterface.md b/docs/Generator/GeneratorInterface.md new file mode 100644 index 0000000..9d142c4 --- /dev/null +++ b/docs/Generator/GeneratorInterface.md @@ -0,0 +1,36 @@ +# Interface GeneratorInterface + +Full name: `spaceonfire\ApiDoc\Generator\GeneratorInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------- | --------------------------------------------------- | ---------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [generate](#spaceonfire_apidoc_generator_generatorinterface_generate) | _spaceonfire\ApiDoc\Generator\File[]|iterable_ | Generates apiDoc for given project | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### generate() + +Generates apiDoc for given project + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------- | --------- | ----------- | +| `$project` | _spaceonfire\ApiDoc\Project\Project_ | No | | +| **Return** | _spaceonfire\ApiDoc\Generator\File[]|iterable_ | | | + +```php +abstract public function generate(spaceonfire\ApiDoc\Project\Project $project): spaceonfire\ApiDoc\Generator\File[]|iterable +``` + +File location: `Generator/GeneratorInterface.php:16` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Generator/LocalFilesystemPersister.md b/docs/Generator/LocalFilesystemPersister.md new file mode 100644 index 0000000..78d6af2 --- /dev/null +++ b/docs/Generator/LocalFilesystemPersister.md @@ -0,0 +1,55 @@ +# Class LocalFilesystemPersister + +Full name: `spaceonfire\ApiDoc\Generator\LocalFilesystemPersister` + +This class implements: `spaceonfire\ApiDoc\Generator\PersisterInterface` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------------------- | ------ | ------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_generator_localfilesystempersister_construct) | | LocalFilesystemPersister constructor. | [📢](# "Visibility: public") | +| [persist](#spaceonfire_apidoc_generator_localfilesystempersister_persist) | _void_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +LocalFilesystemPersister constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | --------------------------------------------------- | --------- | ----------- | +| `$outputDirectory` | _string_ | No | | +| `$filesystem` | _Symfony\Component\Filesystem\Filesystem|null_ | No | | + +```php +public function __construct(string $outputDirectory, Symfony\Component\Filesystem\Filesystem|null $filesystem = null) +``` + +File location: `Generator/LocalFilesystemPersister.php:25` + + + +### persist() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------- | --------- | ----------- | +| `$file` | _spaceonfire\ApiDoc\Generator\File_ | No | | +| **Return** | _void_ | | | + +```php +public function persist(spaceonfire\ApiDoc\Generator\File $file): void +``` + +File location: `Generator/LocalFilesystemPersister.php:34` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Generator/PersisterInterface.md b/docs/Generator/PersisterInterface.md new file mode 100644 index 0000000..f9b41e3 --- /dev/null +++ b/docs/Generator/PersisterInterface.md @@ -0,0 +1,34 @@ +# Interface PersisterInterface + +Full name: `spaceonfire\ApiDoc\Generator\PersisterInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------- | ------ | ------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [persist](#spaceonfire_apidoc_generator_persisterinterface_persist) | _void_ | | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### persist() + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------- | --------- | ----------- | +| `$file` | _spaceonfire\ApiDoc\Generator\File_ | No | | +| **Return** | _void_ | | | + +```php +abstract public function persist(spaceonfire\ApiDoc\Generator\File $file): void +``` + +File location: `Generator/PersisterInterface.php:12` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Project/Project.md b/docs/Project/Project.md new file mode 100644 index 0000000..255afde --- /dev/null +++ b/docs/Project/Project.md @@ -0,0 +1,132 @@ +# Class Project + +Full name: `spaceonfire\ApiDoc\Project\Project` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------------- | ------------------------------------------------------------- | ---------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_project_project_construct) | | Project constructor. | [📢](# "Visibility: public") | +| [getName](#spaceonfire_apidoc_project_project_getname) | _string_ | Returns project name | [📢](# "Visibility: public") | +| [getClassLikeElements](#spaceonfire_apidoc_project_project_getclasslikeelements) | _spaceonfire\ApiDoc\Element\ElementInterface[]|iterable_ | Getter for `classLikeElements` property. | [📢](# "Visibility: public") | +| [getFunctions](#spaceonfire_apidoc_project_project_getfunctions) | _spaceonfire\ApiDoc\Element\FunctionsAggregate_ | Getter for `functions` property. | [📢](# "Visibility: public") | +| [getConstants](#spaceonfire_apidoc_project_project_getconstants) | _spaceonfire\ApiDoc\Element\ConstantsAggregate_ | Getter for `constants` property. | [📢](# "Visibility: public") | +| [getTableOfContents](#spaceonfire_apidoc_project_project_gettableofcontents) | _spaceonfire\ApiDoc\Element\TableOfContentsElement_ | Getter for `toc` property. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +Project constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | ------------------------------------------------------------- | --------- | ----------- | +| `$name` | _string_ | No | | +| `$classLikeElements` | _spaceonfire\ApiDoc\Element\ElementInterface[]|iterable_ | No | | +| `$functions` | _spaceonfire\ApiDoc\Element\FunctionElement[]|iterable_ | No | | +| `$constants` | _spaceonfire\ApiDoc\Element\ConstantElement[]|iterable_ | No | | + +```php +public function __construct(string $name, spaceonfire\ApiDoc\Element\ElementInterface[]|iterable $classLikeElements, spaceonfire\ApiDoc\Element\FunctionElement[]|iterable $functions = [], spaceonfire\ApiDoc\Element\ConstantElement[]|iterable $constants = []) +``` + +File location: `Project/Project.php:44` + + + +### getName() + +Returns project name + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| **Return** | _string_ | | | + +```php +public function getName(): string +``` + +File location: `Project/Project.php:63` + + + +### getClassLikeElements() + +Getter for `classLikeElements` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ElementInterface[]|iterable_ | | | + +```php +public function getClassLikeElements(): spaceonfire\ApiDoc\Element\ElementInterface[]|iterable +``` + +File location: `Project/Project.php:72` + + + +### getFunctions() + +Getter for `functions` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\FunctionsAggregate_ | | | + +```php +public function getFunctions(): spaceonfire\ApiDoc\Element\FunctionsAggregate +``` + +File location: `Project/Project.php:81` + + + +### getConstants() + +Getter for `constants` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ----------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\ConstantsAggregate_ | | | + +```php +public function getConstants(): spaceonfire\ApiDoc\Element\ConstantsAggregate +``` + +File location: `Project/Project.php:90` + + + +### getTableOfContents() + +Getter for `toc` property. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------------- | --------- | ----------- | +| **Return** | _spaceonfire\ApiDoc\Element\TableOfContentsElement_ | | | + +```php +public function getTableOfContents(): spaceonfire\ApiDoc\Element\TableOfContentsElement +``` + +File location: `Project/Project.php:99` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Project/ProjectFactory.md b/docs/Project/ProjectFactory.md new file mode 100644 index 0000000..bc9bcce --- /dev/null +++ b/docs/Project/ProjectFactory.md @@ -0,0 +1,55 @@ +# Class ProjectFactory + +Full name: `spaceonfire\ApiDoc\Project\ProjectFactory` + +## Class members + +| Name | Type | Summary | Additional | +| --------------------------------------------------------------------- | ------------------------------------ | --------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_project_projectfactory_construct) | | ProjectFactory constructor. | [📢](# "Visibility: public") | +| [make](#spaceonfire_apidoc_project_projectfactory_make) | _spaceonfire\ApiDoc\Project\Project_ | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +ProjectFactory constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | ------------------------------------------------------------ | --------- | ----------- | +| `$elementFactory` | _spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface_ | No | | +| `$classReflector` | _Roave\BetterReflection\Reflector\ClassReflector_ | No | | +| `$functionReflector` | _Roave\BetterReflection\Reflector\FunctionReflector_ | No | | +| `$constantReflector` | _Roave\BetterReflection\Reflector\ConstantReflector_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface $elementFactory, Roave\BetterReflection\Reflector\ClassReflector $classReflector, Roave\BetterReflection\Reflector\FunctionReflector $functionReflector, Roave\BetterReflection\Reflector\ConstantReflector $constantReflector) +``` + +File location: `Project/ProjectFactory.php:43` + + + +### make() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------ | --------- | ----------- | +| `$config` | _spaceonfire\ApiDoc\Config\Config_ | No | | +| **Return** | _spaceonfire\ApiDoc\Project\Project_ | | | + +```php +public function make(spaceonfire\ApiDoc\Config\Config $config): spaceonfire\ApiDoc\Project\Project +``` + +File location: `Project/ProjectFactory.php:59` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/README.md b/docs/README.md index 0174bb6..e448a48 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,53 +1,176 @@ -# spaceonfire/simple-php-apidoc API Documentation +# SpaceOnFire ApiDoc API documentation -- [\spaceonfire\SimplePhpApiDoc](./spaceonfire/SimplePhpApiDoc) - - Classes - - [Context](./spaceonfire/SimplePhpApiDoc/Context.md) - - [GeneratorCommand](./spaceonfire/SimplePhpApiDoc/GeneratorCommand.md) -- [\spaceonfire\SimplePhpApiDoc\Elements](./spaceonfire/SimplePhpApiDoc/Elements) - - Classes - - [ArgumentElement](./spaceonfire/SimplePhpApiDoc/Elements/ArgumentElement.md) - - [BaseElement](./spaceonfire/SimplePhpApiDoc/Elements/BaseElement.md) - - [ClassElement](./spaceonfire/SimplePhpApiDoc/Elements/ClassElement.md) - - [ConstantElement](./spaceonfire/SimplePhpApiDoc/Elements/ConstantElement.md) - - [FunctionElement](./spaceonfire/SimplePhpApiDoc/Elements/FunctionElement.md) - - [InterfaceElement](./spaceonfire/SimplePhpApiDoc/Elements/InterfaceElement.md) - - [MethodElement](./spaceonfire/SimplePhpApiDoc/Elements/MethodElement.md) - - [NamespaceElement](./spaceonfire/SimplePhpApiDoc/Elements/NamespaceElement.md) - - [PropertyElement](./spaceonfire/SimplePhpApiDoc/Elements/PropertyElement.md) - - [TraitElement](./spaceonfire/SimplePhpApiDoc/Elements/TraitElement.md) - - Interfaces - - [ElementDecoratorInterface](./spaceonfire/SimplePhpApiDoc/Elements/ElementDecoratorInterface.md) - - [ElementInterface](./spaceonfire/SimplePhpApiDoc/Elements/ElementInterface.md) - - [ElementVisibilityInterface](./spaceonfire/SimplePhpApiDoc/Elements/ElementVisibilityInterface.md) - - [MethodOwnerInterface](./spaceonfire/SimplePhpApiDoc/Elements/MethodOwnerInterface.md) - - [PropertyOwnerInterface](./spaceonfire/SimplePhpApiDoc/Elements/PropertyOwnerInterface.md) -- [\spaceonfire\SimplePhpApiDoc\Elements\Collections](./spaceonfire/SimplePhpApiDoc/Elements/Collections) - - Classes - - [MethodsCollection](./spaceonfire/SimplePhpApiDoc/Elements/Collections/MethodsCollection.md) - - [NamespacesCollection](./spaceonfire/SimplePhpApiDoc/Elements/Collections/NamespacesCollection.md) - - [PropertiesCollection](./spaceonfire/SimplePhpApiDoc/Elements/Collections/PropertiesCollection.md) - - [TraitsCollection](./spaceonfire/SimplePhpApiDoc/Elements/Collections/TraitsCollection.md) - - Interfaces - - [FilterableByVisibilityCollectionInterface](./spaceonfire/SimplePhpApiDoc/Elements/Collections/FilterableByVisibilityCollectionInterface.md) - - Traits - - [FilterableByVisibilityCollectionTrait](./spaceonfire/SimplePhpApiDoc/Elements/Collections/FilterableByVisibilityCollectionTrait.md) -- [\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver](./spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver) - - Classes - - [BaseDocBlockResolver](./spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/BaseDocBlockResolver.md) - - [ClassDocBlockResolver](./spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/ClassDocBlockResolver.md) - - [MethodDocBlockResolver](./spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/MethodDocBlockResolver.md) - - [PropertyDocBlockResolver](./spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/PropertyDocBlockResolver.md) -- [\spaceonfire\SimplePhpApiDoc\Renderers](./spaceonfire/SimplePhpApiDoc/Renderers) - - Classes - - [BaseRenderer](./spaceonfire/SimplePhpApiDoc/Renderers/BaseRenderer.md) - - Interfaces - - [RendererInterface](./spaceonfire/SimplePhpApiDoc/Renderers/RendererInterface.md) -- [\spaceonfire\SimplePhpApiDoc\Renderers\Markdown](./spaceonfire/SimplePhpApiDoc/Renderers/Markdown) - - Classes - - [MarkdownHelper](./spaceonfire/SimplePhpApiDoc/Renderers/Markdown/MarkdownHelper.md) - - [MarkdownRenderer](./spaceonfire/SimplePhpApiDoc/Renderers/Markdown/MarkdownRenderer.md) +- spaceonfire\ApiDoc\Application + - Classes + - [spaceonfire\ApiDoc\Application\ApiDocKernel](Application/ApiDocKernel.md#spaceonfire_apidoc_application_apidockernel) +- spaceonfire\ApiDoc\Application\Console + - Classes + - [spaceonfire\ApiDoc\Application\Console\GenerateCommand](Application/Console/GenerateCommand.md#spaceonfire_apidoc_application_console_generatecommand) +- spaceonfire\ApiDoc\Application\ServiceProviders + - Classes + - [spaceonfire\ApiDoc\Application\ServiceProviders\ConfigProvider](Application/ServiceProviders/ConfigProvider.md#spaceonfire_apidoc_application_serviceproviders_configprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\ConsoleCommandsProvider](Application/ServiceProviders/ConsoleCommandsProvider.md#spaceonfire_apidoc_application_serviceproviders_consolecommandsprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\DefaultApiDocGeneratorProvider](Application/ServiceProviders/DefaultApiDocGeneratorProvider.md#spaceonfire_apidoc_application_serviceproviders_defaultapidocgeneratorprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\DefaultRendererProvider](Application/ServiceProviders/DefaultRendererProvider.md#spaceonfire_apidoc_application_serviceproviders_defaultrendererprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\DocBlockResolverProvider](Application/ServiceProviders/DocBlockResolverProvider.md#spaceonfire_apidoc_application_serviceproviders_docblockresolverprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\ElementFactoryProvider](Application/ServiceProviders/ElementFactoryProvider.md#spaceonfire_apidoc_application_serviceproviders_elementfactoryprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\FallbackBetterReflectionProvider](Application/ServiceProviders/FallbackBetterReflectionProvider.md#spaceonfire_apidoc_application_serviceproviders_fallbackbetterreflectionprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\LinkServiceProvider](Application/ServiceProviders/LinkServiceProvider.md#spaceonfire_apidoc_application_serviceproviders_linkserviceprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\SignatureRendererProvider](Application/ServiceProviders/SignatureRendererProvider.md#spaceonfire_apidoc_application_serviceproviders_signaturerendererprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\TranslatorProvider](Application/ServiceProviders/TranslatorProvider.md#spaceonfire_apidoc_application_serviceproviders_translatorprovider) + - [spaceonfire\ApiDoc\Application\ServiceProviders\TypeFactoryProvider](Application/ServiceProviders/TypeFactoryProvider.md#spaceonfire_apidoc_application_serviceproviders_typefactoryprovider) +- spaceonfire\ApiDoc\Config + - Classes + - [spaceonfire\ApiDoc\Config\Config](Config/Config.md#spaceonfire_apidoc_config_config) +- spaceonfire\ApiDoc\Config\Processor + - Classes + - [spaceonfire\ApiDoc\Config\Processor\BuilderProcessor](Config/Processor/BuilderProcessor.md#spaceonfire_apidoc_config_processor_builderprocessor) + - [spaceonfire\ApiDoc\Config\Processor\ComposerJsonProcessor](Config/Processor/ComposerJsonProcessor.md#spaceonfire_apidoc_config_processor_composerjsonprocessor) + - [spaceonfire\ApiDoc\Config\Processor\ConfigFileProcessor](Config/Processor/ConfigFileProcessor.md#spaceonfire_apidoc_config_processor_configfileprocessor) + - [spaceonfire\ApiDoc\Config\Processor\ConsoleInputProcessor](Config/Processor/ConsoleInputProcessor.md#spaceonfire_apidoc_config_processor_consoleinputprocessor) + - [spaceonfire\ApiDoc\Config\Processor\DefaultsProcessor](Config/Processor/DefaultsProcessor.md#spaceonfire_apidoc_config_processor_defaultsprocessor) + - Interfaces + - [spaceonfire\ApiDoc\Config\Processor\ProcessorInterface](Config/Processor/ProcessorInterface.md#spaceonfire_apidoc_config_processor_processorinterface) +- spaceonfire\ApiDoc\Element + - Classes + - [spaceonfire\ApiDoc\Element\AbstractElement](Element/AbstractElement.md#spaceonfire_apidoc_element_abstractelement) + - [spaceonfire\ApiDoc\Element\ClassElement](Element/ClassElement.md#spaceonfire_apidoc_element_classelement) + - [spaceonfire\ApiDoc\Element\ConstantElement](Element/ConstantElement.md#spaceonfire_apidoc_element_constantelement) + - [spaceonfire\ApiDoc\Element\ConstantsAggregate](Element/ConstantsAggregate.md#spaceonfire_apidoc_element_constantsaggregate) + - [spaceonfire\ApiDoc\Element\FunctionElement](Element/FunctionElement.md#spaceonfire_apidoc_element_functionelement) + - [spaceonfire\ApiDoc\Element\FunctionsAggregate](Element/FunctionsAggregate.md#spaceonfire_apidoc_element_functionsaggregate) + - [spaceonfire\ApiDoc\Element\InterfaceElement](Element/InterfaceElement.md#spaceonfire_apidoc_element_interfaceelement) + - [spaceonfire\ApiDoc\Element\MethodElement](Element/MethodElement.md#spaceonfire_apidoc_element_methodelement) + - [spaceonfire\ApiDoc\Element\PropertyElement](Element/PropertyElement.md#spaceonfire_apidoc_element_propertyelement) + - [spaceonfire\ApiDoc\Element\TableOfContentsElement](Element/TableOfContentsElement.md#spaceonfire_apidoc_element_tableofcontentselement) + - [spaceonfire\ApiDoc\Element\TraitElement](Element/TraitElement.md#spaceonfire_apidoc_element_traitelement) + - Interfaces + - [spaceonfire\ApiDoc\Element\ElementInterface](Element/ElementInterface.md#spaceonfire_apidoc_element_elementinterface) +- spaceonfire\ApiDoc\Element\DocBlock + - Classes + - [spaceonfire\ApiDoc\Element\DocBlock\DocBlock](Element/DocBlock/DocBlock.md#spaceonfire_apidoc_element_docblock_docblock) +- spaceonfire\ApiDoc\Element\DocBlock\Factory + - Classes + - [spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactory](Element/DocBlock/Factory/DocBlockFactory.md#spaceonfire_apidoc_element_docblock_factory_docblockfactory) + - Interfaces + - [spaceonfire\ApiDoc\Element\DocBlock\Factory\DocBlockFactoryInterface](Element/DocBlock/Factory/DocBlockFactoryInterface.md#spaceonfire_apidoc_element_docblock_factory_docblockfactoryinterface) +- spaceonfire\ApiDoc\Element\DocBlock\Resolver + - Classes + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\AbstractDocBlockResolver](Element/DocBlock/Resolver/AbstractDocBlockResolver.md#spaceonfire_apidoc_element_docblock_resolver_abstractdocblockresolver) + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\ClassDocBlockResolver](Element/DocBlock/Resolver/ClassDocBlockResolver.md#spaceonfire_apidoc_element_docblock_resolver_classdocblockresolver) + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\CompositeDocBlockResolver](Element/DocBlock/Resolver/CompositeDocBlockResolver.md#spaceonfire_apidoc_element_docblock_resolver_compositedocblockresolver) + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\DefaultDocBlockResolver](Element/DocBlock/Resolver/DefaultDocBlockResolver.md#spaceonfire_apidoc_element_docblock_resolver_defaultdocblockresolver) + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockMerger](Element/DocBlock/Resolver/DocBlockMerger.md#spaceonfire_apidoc_element_docblock_resolver_docblockmerger) + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\MemoizedDocBlockResolver](Element/DocBlock/Resolver/MemoizedDocBlockResolver.md#spaceonfire_apidoc_element_docblock_resolver_memoizeddocblockresolver) + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\MethodDocBlockResolver](Element/DocBlock/Resolver/MethodDocBlockResolver.md#spaceonfire_apidoc_element_docblock_resolver_methoddocblockresolver) + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\PropertyDocBlockResolver](Element/DocBlock/Resolver/PropertyDocBlockResolver.md#spaceonfire_apidoc_element_docblock_resolver_propertydocblockresolver) + - Interfaces + - [spaceonfire\ApiDoc\Element\DocBlock\Resolver\DocBlockResolverInterface](Element/DocBlock/Resolver/DocBlockResolverInterface.md#spaceonfire_apidoc_element_docblock_resolver_docblockresolverinterface) +- spaceonfire\ApiDoc\Element\Example + - Classes + - [spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver](Element/Example/ExampleCodeSnippetResolver.md#spaceonfire_apidoc_element_example_examplecodesnippetresolver) +- spaceonfire\ApiDoc\Element\Factory + - Classes + - [spaceonfire\ApiDoc\Element\Factory\AbstractElementFactory](Element/Factory/AbstractElementFactory.md#spaceonfire_apidoc_element_factory_abstractelementfactory) + - [spaceonfire\ApiDoc\Element\Factory\ClassLikeElementFactory](Element/Factory/ClassLikeElementFactory.md#spaceonfire_apidoc_element_factory_classlikeelementfactory) + - [spaceonfire\ApiDoc\Element\Factory\CompositeElementFactory](Element/Factory/CompositeElementFactory.md#spaceonfire_apidoc_element_factory_compositeelementfactory) + - [spaceonfire\ApiDoc\Element\Factory\ConstantElementFactory](Element/Factory/ConstantElementFactory.md#spaceonfire_apidoc_element_factory_constantelementfactory) + - [spaceonfire\ApiDoc\Element\Factory\FunctionLikeElementFactory](Element/Factory/FunctionLikeElementFactory.md#spaceonfire_apidoc_element_factory_functionlikeelementfactory) + - [spaceonfire\ApiDoc\Element\Factory\MemoizedElementFactory](Element/Factory/MemoizedElementFactory.md#spaceonfire_apidoc_element_factory_memoizedelementfactory) + - [spaceonfire\ApiDoc\Element\Factory\PropertyElementFactory](Element/Factory/PropertyElementFactory.md#spaceonfire_apidoc_element_factory_propertyelementfactory) + - Interfaces + - [spaceonfire\ApiDoc\Element\Factory\ElementFactoryInterface](Element/Factory/ElementFactoryInterface.md#spaceonfire_apidoc_element_factory_elementfactoryinterface) +- spaceonfire\ApiDoc\Element\Link + - Classes + - [spaceonfire\ApiDoc\Element\Link\AnchorGenerator](Element/Link/AnchorGenerator.md#spaceonfire_apidoc_element_link_anchorgenerator) + - [spaceonfire\ApiDoc\Element\Link\CompositeLinkResolver](Element/Link/CompositeLinkResolver.md#spaceonfire_apidoc_element_link_compositelinkresolver) + - [spaceonfire\ApiDoc\Element\Link\ExternalLinkResolver](Element/Link/ExternalLinkResolver.md#spaceonfire_apidoc_element_link_externallinkresolver) + - [spaceonfire\ApiDoc\Element\Link\FqsenLinkResolver](Element/Link/FqsenLinkResolver.md#spaceonfire_apidoc_element_link_fqsenlinkresolver) + - Interfaces + - [spaceonfire\ApiDoc\Element\Link\LinkResolverInterface](Element/Link/LinkResolverInterface.md#spaceonfire_apidoc_element_link_linkresolverinterface) +- spaceonfire\ApiDoc\Element\Location + - Classes + - [spaceonfire\ApiDoc\Element\Location\Location](Element/Location/Location.md#spaceonfire_apidoc_element_location_location) + - [spaceonfire\ApiDoc\Element\Location\LocationFactory](Element/Location/LocationFactory.md#spaceonfire_apidoc_element_location_locationfactory) +- spaceonfire\ApiDoc\Element\Signature + - Classes + - [spaceonfire\ApiDoc\Element\Signature\CompositeSignatureRenderer](Element/Signature/CompositeSignatureRenderer.md#spaceonfire_apidoc_element_signature_compositesignaturerenderer) + - [spaceonfire\ApiDoc\Element\Signature\ConstantSignatureRenderer](Element/Signature/ConstantSignatureRenderer.md#spaceonfire_apidoc_element_signature_constantsignaturerenderer) + - [spaceonfire\ApiDoc\Element\Signature\FunctionLikeElementSignatureRenderer](Element/Signature/FunctionLikeElementSignatureRenderer.md#spaceonfire_apidoc_element_signature_functionlikeelementsignaturerenderer) + - [spaceonfire\ApiDoc\Element\Signature\PropertySignatureRenderer](Element/Signature/PropertySignatureRenderer.md#spaceonfire_apidoc_element_signature_propertysignaturerenderer) + - Interfaces + - [spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface](Element/Signature/SignatureRendererInterface.md#spaceonfire_apidoc_element_signature_signaturerendererinterface) +- spaceonfire\ApiDoc\Element\Type + - Classes + - [spaceonfire\ApiDoc\Element\Type\BetterReflectionInstanceOfType](Element/Type/BetterReflectionInstanceOfType.md#spaceonfire_apidoc_element_type_betterreflectioninstanceoftype) +- spaceonfire\ApiDoc\Element\Type\Converter + - Classes + - [spaceonfire\ApiDoc\Element\Type\Converter\PhpDocTypeConverter](Element/Type/Converter/PhpDocTypeConverter.md#spaceonfire_apidoc_element_type_converter_phpdoctypeconverter) + - [spaceonfire\ApiDoc\Element\Type\Converter\ReflectionTypeConverter](Element/Type/Converter/ReflectionTypeConverter.md#spaceonfire_apidoc_element_type_converter_reflectiontypeconverter) +- spaceonfire\ApiDoc\Element\Type\Factory + - Classes + - [spaceonfire\ApiDoc\Element\Type\Factory\BetterReflectionInstanceOfTypeFactory](Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.md#spaceonfire_apidoc_element_type_factory_betterreflectioninstanceoftypefactory) + - [spaceonfire\ApiDoc\Element\Type\Factory\BetterReflectionParentFactory](Element/Type/Factory/BetterReflectionParentFactory.md#spaceonfire_apidoc_element_type_factory_betterreflectionparentfactory) +- spaceonfire\ApiDoc\Element\Type\Resolver + - Classes + - [spaceonfire\ApiDoc\Element\Type\Resolver\AbstractTypeResolver](Element/Type/Resolver/AbstractTypeResolver.md#spaceonfire_apidoc_element_type_resolver_abstracttyperesolver) + - [spaceonfire\ApiDoc\Element\Type\Resolver\ArgumentTypeResolver](Element/Type/Resolver/ArgumentTypeResolver.md#spaceonfire_apidoc_element_type_resolver_argumenttyperesolver) + - [spaceonfire\ApiDoc\Element\Type\Resolver\CompositeTypeResolver](Element/Type/Resolver/CompositeTypeResolver.md#spaceonfire_apidoc_element_type_resolver_compositetyperesolver) + - [spaceonfire\ApiDoc\Element\Type\Resolver\FunctionReturnTypeResolver](Element/Type/Resolver/FunctionReturnTypeResolver.md#spaceonfire_apidoc_element_type_resolver_functionreturntyperesolver) + - [spaceonfire\ApiDoc\Element\Type\Resolver\MemoizedTypeResolver](Element/Type/Resolver/MemoizedTypeResolver.md#spaceonfire_apidoc_element_type_resolver_memoizedtyperesolver) + - [spaceonfire\ApiDoc\Element\Type\Resolver\PropertyTypeResolver](Element/Type/Resolver/PropertyTypeResolver.md#spaceonfire_apidoc_element_type_resolver_propertytyperesolver) + - Interfaces + - [spaceonfire\ApiDoc\Element\Type\Resolver\TypeResolverInterface](Element/Type/Resolver/TypeResolverInterface.md#spaceonfire_apidoc_element_type_resolver_typeresolverinterface) +- spaceonfire\ApiDoc\Element\ValueObject + - Classes + - [spaceonfire\ApiDoc\Element\ValueObject\AbstractTypedSymbol](Element/ValueObject/AbstractTypedSymbol.md#spaceonfire_apidoc_element_valueobject_abstracttypedsymbol) + - [spaceonfire\ApiDoc\Element\ValueObject\ClassMembersVisibilityFilter](Element/ValueObject/ClassMembersVisibilityFilter.md#spaceonfire_apidoc_element_valueobject_classmembersvisibilityfilter) + - [spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet](Element/ValueObject/CodeSnippet.md#spaceonfire_apidoc_element_valueobject_codesnippet) + - [spaceonfire\ApiDoc\Element\ValueObject\Example](Element/ValueObject/Example.md#spaceonfire_apidoc_element_valueobject_example) + - [spaceonfire\ApiDoc\Element\ValueObject\ExternalLink](Element/ValueObject/ExternalLink.md#spaceonfire_apidoc_element_valueobject_externallink) + - [spaceonfire\ApiDoc\Element\ValueObject\Fqsen](Element/ValueObject/Fqsen.md#spaceonfire_apidoc_element_valueobject_fqsen) + - [spaceonfire\ApiDoc\Element\ValueObject\FqsenLink](Element/ValueObject/FqsenLink.md#spaceonfire_apidoc_element_valueobject_fqsenlink) + - [spaceonfire\ApiDoc\Element\ValueObject\FunctionParameter](Element/ValueObject/FunctionParameter.md#spaceonfire_apidoc_element_valueobject_functionparameter) + - [spaceonfire\ApiDoc\Element\ValueObject\FunctionReturn](Element/ValueObject/FunctionReturn.md#spaceonfire_apidoc_element_valueobject_functionreturn) + - [spaceonfire\ApiDoc\Element\ValueObject\FunctionThrows](Element/ValueObject/FunctionThrows.md#spaceonfire_apidoc_element_valueobject_functionthrows) + - [spaceonfire\ApiDoc\Element\ValueObject\Value](Element/ValueObject/Value.md#spaceonfire_apidoc_element_valueobject_value) + - [spaceonfire\ApiDoc\Element\ValueObject\Visibility](Element/ValueObject/Visibility.md#spaceonfire_apidoc_element_valueobject_visibility) + - [spaceonfire\ApiDoc\Element\ValueObject\VisibilityFilter](Element/ValueObject/VisibilityFilter.md#spaceonfire_apidoc_element_valueobject_visibilityfilter) + - Interfaces + - [spaceonfire\ApiDoc\Element\ValueObject\LinkInterface](Element/ValueObject/LinkInterface.md#spaceonfire_apidoc_element_valueobject_linkinterface) +- spaceonfire\ApiDoc\Exception + - Classes + - [spaceonfire\ApiDoc\Exception\GivenReflectionNotSupported](Exception/GivenReflectionNotSupported.md#spaceonfire_apidoc_exception_givenreflectionnotsupported) + - [spaceonfire\ApiDoc\Exception\TypeCannotBeConverted](Exception/TypeCannotBeConverted.md#spaceonfire_apidoc_exception_typecannotbeconverted) +- spaceonfire\ApiDoc\Generator + - Classes + - [spaceonfire\ApiDoc\Generator\ApiDocGenerator](Generator/ApiDocGenerator.md#spaceonfire_apidoc_generator_apidocgenerator) + - [spaceonfire\ApiDoc\Generator\File](Generator/File.md#spaceonfire_apidoc_generator_file) + - [spaceonfire\ApiDoc\Generator\FileNameStrategy](Generator/FileNameStrategy.md#spaceonfire_apidoc_generator_filenamestrategy) + - [spaceonfire\ApiDoc\Generator\LocalFilesystemPersister](Generator/LocalFilesystemPersister.md#spaceonfire_apidoc_generator_localfilesystempersister) + - Interfaces + - [spaceonfire\ApiDoc\Generator\FileNameStrategyInterface](Generator/FileNameStrategyInterface.md#spaceonfire_apidoc_generator_filenamestrategyinterface) + - [spaceonfire\ApiDoc\Generator\GeneratorInterface](Generator/GeneratorInterface.md#spaceonfire_apidoc_generator_generatorinterface) + - [spaceonfire\ApiDoc\Generator\PersisterInterface](Generator/PersisterInterface.md#spaceonfire_apidoc_generator_persisterinterface) +- spaceonfire\ApiDoc\Project + - Classes + - [spaceonfire\ApiDoc\Project\Project](Project/Project.md#spaceonfire_apidoc_project_project) + - [spaceonfire\ApiDoc\Project\ProjectFactory](Project/ProjectFactory.md#spaceonfire_apidoc_project_projectfactory) +- spaceonfire\ApiDoc\Render + - Classes + - [spaceonfire\ApiDoc\Render\StaticListTemplateNameStrategy](Render/StaticListTemplateNameStrategy.md#spaceonfire_apidoc_render_staticlisttemplatenamestrategy) + - [spaceonfire\ApiDoc\Render\TwigRenderer](Render/TwigRenderer.md#spaceonfire_apidoc_render_twigrenderer) + - Interfaces + - [spaceonfire\ApiDoc\Render\RendererInterface](Render/RendererInterface.md#spaceonfire_apidoc_render_rendererinterface) + - [spaceonfire\ApiDoc\Render\TemplateNameStrategyInterface](Render/TemplateNameStrategyInterface.md#spaceonfire_apidoc_render_templatenamestrategyinterface) +- spaceonfire\ApiDoc\Render\Twig + - Classes + - [spaceonfire\ApiDoc\Render\Twig\DumpExtension](Render/Twig/DumpExtension.md#spaceonfire_apidoc_render_twig_dumpextension) + - [spaceonfire\ApiDoc\Render\Twig\ExampleRendererExtension](Render/Twig/ExampleRendererExtension.md#spaceonfire_apidoc_render_twig_examplerendererextension) + - [spaceonfire\ApiDoc\Render\Twig\LinkExtension](Render/Twig/LinkExtension.md#spaceonfire_apidoc_render_twig_linkextension) + - [spaceonfire\ApiDoc\Render\Twig\MarkdownExtension](Render/Twig/MarkdownExtension.md#spaceonfire_apidoc_render_twig_markdownextension) + - [spaceonfire\ApiDoc\Render\Twig\SignatureExtension](Render/Twig/SignatureExtension.md#spaceonfire_apidoc_render_twig_signatureextension) --- -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/RendererInterface.md b/docs/Render/RendererInterface.md new file mode 100644 index 0000000..3cd3d79 --- /dev/null +++ b/docs/Render/RendererInterface.md @@ -0,0 +1,56 @@ +# Interface RendererInterface + +Full name: `spaceonfire\ApiDoc\Render\RendererInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ----------------------------------------------------------------- | -------- | -------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [supports](#spaceonfire_apidoc_render_rendererinterface_supports) | _bool_ | | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [render](#spaceonfire_apidoc_render_rendererinterface_render) | _string_ | Renders apiDoc for given element | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### supports() + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _bool_ | | | + +```php +abstract public function supports(spaceonfire\ApiDoc\Element\ElementInterface $element): bool +``` + +File location: `Render/RendererInterface.php:15` + + + +### render() + +Renders apiDoc for given element + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| `$context` | _array|array_ | No | | +| **Return** | _string_ | | | + +```php +abstract public function render(spaceonfire\ApiDoc\Element\ElementInterface $element, array|array $context = []): string +``` + +File location: `Render/RendererInterface.php:23` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/StaticListTemplateNameStrategy.md b/docs/Render/StaticListTemplateNameStrategy.md new file mode 100644 index 0000000..59936f3 --- /dev/null +++ b/docs/Render/StaticListTemplateNameStrategy.md @@ -0,0 +1,86 @@ +# Class StaticListTemplateNameStrategy + +Full name: `spaceonfire\ApiDoc\Render\StaticListTemplateNameStrategy` + +This class implements: + +- `spaceonfire\ApiDoc\Render\TemplateNameStrategyInterface` +- `Psr\Container\ContainerInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------ | ------------------- | --------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_render_staticlisttemplatenamestrategy_construct) | | StaticListTemplateNameStrategy constructor. | [📢](# "Visibility: public") | +| [get](#spaceonfire_apidoc_render_staticlisttemplatenamestrategy_get) | _mixed|string_ | Finds an entry of the container by its identifier and returns it. | [📢](# "Visibility: public") | +| [has](#spaceonfire_apidoc_render_staticlisttemplatenamestrategy_has) | _bool_ | Returns true if the container can return an entry for the given identifier. | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +StaticListTemplateNameStrategy constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ------------------ | --------------------------------- | --------- | ----------- | +| `$templateMapping` | _array|array_ | No | | + +```php +public function __construct(array|array $templateMapping) +``` + +File location: `Render/StaticListTemplateNameStrategy.php:21` + + + +### get() + +Finds an entry of the container by its identifier and returns it. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------- | --------- | ------------------------------------------- | +| `$id` | _string_ | No | Identifier of the entry to look for. | +| **Return** | _mixed|string_ | | Entry. | +| **Throws** | _Psr\Container\NotFoundExceptionInterface_ | | No entry was found for **this** identifier. | +| **Throws** | _Psr\Container\ContainerExceptionInterface_ | | Error while retrieving the entry. | + +```php +public function get(string $id): mixed|string +``` + +File location: `Render/StaticListTemplateNameStrategy.php:32` + + + +### has() + +Returns true if the container can return an entry for the given identifier. + +Returns false otherwise. + +`has($id)` returning true does not mean that `get($id)` will not throw an exception. +It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------------------ | +| `$id` | _string_ | No | Identifier of the entry to look for. | +| **Return** | _bool_ | | | + +```php +public function has(string $id): bool +``` + +File location: `Render/StaticListTemplateNameStrategy.php:44` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/TemplateNameStrategyInterface.md b/docs/Render/TemplateNameStrategyInterface.md new file mode 100644 index 0000000..a6c9512 --- /dev/null +++ b/docs/Render/TemplateNameStrategyInterface.md @@ -0,0 +1,66 @@ +# Interface TemplateNameStrategyInterface + +Full name: `spaceonfire\ApiDoc\Render\TemplateNameStrategyInterface` + +This interface extends: `Psr\Container\ContainerInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------- | ------- | --------------------------------------------------------------------------- | ------------------------------------------------------- | +| _Methods_ | | | | +| [get](#psr_container_containerinterface_get) | _mixed_ | Finds an entry of the container by its identifier and returns it. | [🇦](# "Abstract element") [📢](# "Visibility: public") | +| [has](#psr_container_containerinterface_has) | _bool_ | Returns true if the container can return an entry for the given identifier. | [🇦](# "Abstract element") [📢](# "Visibility: public") | + +## Methods + + + +### get() + +Finds an entry of the container by its identifier and returns it. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------- | --------- | ------------------------------------------- | +| `$id` | _string_ | No | Identifier of the entry to look for. | +| **Return** | _mixed_ | | Entry. | +| **Throws** | _Psr\Container\NotFoundExceptionInterface_ | | No entry was found for **this** identifier. | +| **Throws** | _Psr\Container\ContainerExceptionInterface_ | | Error while retrieving the entry. | + +```php +abstract public function get(string $id): mixed +``` + +File location: `/var/www/html/vendor/composer/../psr/container/src/ContainerInterface.php:23` + + + +### has() + +Returns true if the container can return an entry for the given identifier. + +Returns false otherwise. + +`has($id)` returning true does not mean that `get($id)` will not throw an exception. +It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`. + +- **Abstract method**: Yes +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ------------------------------------ | +| `$id` | _string_ | No | Identifier of the entry to look for. | +| **Return** | _bool_ | | | + +```php +abstract public function has(string $id): bool +``` + +File location: `/var/www/html/vendor/composer/../psr/container/src/ContainerInterface.php:36` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/Twig/DumpExtension.md b/docs/Render/Twig/DumpExtension.md new file mode 100644 index 0000000..dc423fd --- /dev/null +++ b/docs/Render/Twig/DumpExtension.md @@ -0,0 +1,169 @@ +# Class DumpExtension + +Full name: `spaceonfire\ApiDoc\Render\Twig\DumpExtension` + +Parent class name: `Twig\Extension\AbstractExtension` + +This class implements: `Twig\Extension\ExtensionInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------- | ------------------ | ----------------------------------------------------------------------------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_render_twig_dumpextension_construct) | | | [📢](# "Visibility: public") | +| [getFunctions](#spaceonfire_apidoc_render_twig_dumpextension_getfunctions) | _array_ | | [📢](# "Visibility: public") | +| [getFilters](#spaceonfire_apidoc_render_twig_dumpextension_getfilters) | _array_ | | [📢](# "Visibility: public") | +| [dump](#spaceonfire_apidoc_render_twig_dumpextension_dump) | _string|null_ | Implementation of `dump()` twig function using `symfony/var-dumper` compatible with `twig_var_dump()` | [📢](# "Visibility: public") | +| [export](#spaceonfire_apidoc_render_twig_dumpextension_export) | _string_ | | [📢](# "Visibility: public") | +| [getTokenParsers](#twig_extension_abstractextension_gettokenparsers) | | | [📢](# "Visibility: public") | +| [getNodeVisitors](#twig_extension_abstractextension_getnodevisitors) | | | [📢](# "Visibility: public") | +| [getTests](#twig_extension_abstractextension_gettests) | | | [📢](# "Visibility: public") | +| [getOperators](#twig_extension_abstractextension_getoperators) | | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------- | ------------------------------------------------------------------ | --------- | ----------- | +| `$dumper` | _Symfony\Component\VarDumper\Dumper\DataDumperInterface|null_ | No | | +| `$cloner` | _Symfony\Component\VarDumper\Cloner\ClonerInterface|null_ | No | | + +```php +public function __construct(Symfony\Component\VarDumper\Dumper\DataDumperInterface|null $dumper = null, Symfony\Component\VarDumper\Cloner\ClonerInterface|null $cloner = null) +``` + +File location: `Render/Twig/DumpExtension.php:33` + + + +### getFunctions() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _array_ | | | + +```php +public function getFunctions(): array +``` + +File location: `Render/Twig/DumpExtension.php:49` + + + +### getFilters() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _array_ | | | + +```php +public function getFilters(): array +``` + +File location: `Render/Twig/DumpExtension.php:61` + + + +### dump() + +Implementation of `dump()` twig function using `symfony/var-dumper` compatible with `twig_var_dump()` + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------- | --------- | ----------- | +| `$env` | _Twig\Environment_ | No | | +| `$context` | _array|array_ | No | | +| `...$vars` | _mixed_ | No | | +| **Return** | _string|null_ | | | +| **Throws** | _ErrorException_ | | | + +```php +public function dump(Twig\Environment $env, array|array $context, mixed ...$vars): string|null +``` + +**Links**: + +- [\spaceonfire\ApiDoc\Render\Twig\twig_var_dump](./twig_var_dump.md#spaceonfire_apidoc_render_twig_twig_var_dump) + +File location: `Render/Twig/DumpExtension.php:79` + + + +### export() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------------ | --------- | ----------- | +| `$var` | _mixed_ | No | | +| **Return** | _string_ | | | +| **Throws** | _Symfony\Component\VarExporter\Exception\ExceptionInterface_ | | | + +```php +public function export(mixed $var): string +``` + +File location: `Render/Twig/DumpExtension.php:109` + + + +### getTokenParsers() + +- **Visibility**: public + +```php +public function getTokenParsers() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:16` + + + +### getNodeVisitors() + +- **Visibility**: public + +```php +public function getNodeVisitors() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:21` + + + +### getTests() + +- **Visibility**: public + +```php +public function getTests() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:31` + + + +### getOperators() + +- **Visibility**: public + +```php +public function getOperators() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:41` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/Twig/ExampleRendererExtension.md b/docs/Render/Twig/ExampleRendererExtension.md new file mode 100644 index 0000000..ee61f33 --- /dev/null +++ b/docs/Render/Twig/ExampleRendererExtension.md @@ -0,0 +1,136 @@ +# Class ExampleRendererExtension + +Full name: `spaceonfire\ApiDoc\Render\Twig\ExampleRendererExtension` + +Parent class name: `Twig\Extension\AbstractExtension` + +This class implements: `Twig\Extension\ExtensionInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_render_twig_examplerendererextension_construct) | | | [📢](# "Visibility: public") | +| [getFunctions](#spaceonfire_apidoc_render_twig_examplerendererextension_getfunctions) | _array_ | | [📢](# "Visibility: public") | +| [exampleCodeSnippet](#spaceonfire_apidoc_render_twig_examplerendererextension_examplecodesnippet) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet|null_ | | [📢](# "Visibility: public") | +| [getTokenParsers](#twig_extension_abstractextension_gettokenparsers) | | | [📢](# "Visibility: public") | +| [getNodeVisitors](#twig_extension_abstractextension_getnodevisitors) | | | [📢](# "Visibility: public") | +| [getFilters](#twig_extension_abstractextension_getfilters) | | | [📢](# "Visibility: public") | +| [getTests](#twig_extension_abstractextension_gettests) | | | [📢](# "Visibility: public") | +| [getOperators](#twig_extension_abstractextension_getoperators) | | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------------------------- | --------------------------------------------------------------- | --------- | ----------- | +| `$exampleCodeSnippetResolver` | _spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Example\ExampleCodeSnippetResolver $exampleCodeSnippetResolver) +``` + +File location: `Render/Twig/ExampleRendererExtension.php:20` + + + +### getFunctions() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _array_ | | | + +```php +public function getFunctions(): array +``` + +File location: `Render/Twig/ExampleRendererExtension.php:25` + + + +### exampleCodeSnippet() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------------- | --------- | ----------- | +| `$example` | _spaceonfire\ApiDoc\Element\ValueObject\Example_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet|null_ | | | + +```php +public function exampleCodeSnippet(spaceonfire\ApiDoc\Element\ValueObject\Example $example): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet|null +``` + +File location: `Render/Twig/ExampleRendererExtension.php:32` + + + +### getTokenParsers() + +- **Visibility**: public + +```php +public function getTokenParsers() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:16` + + + +### getNodeVisitors() + +- **Visibility**: public + +```php +public function getNodeVisitors() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:21` + + + +### getFilters() + +- **Visibility**: public + +```php +public function getFilters() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:26` + + + +### getTests() + +- **Visibility**: public + +```php +public function getTests() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:31` + + + +### getOperators() + +- **Visibility**: public + +```php +public function getOperators() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:41` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/Twig/LinkExtension.md b/docs/Render/Twig/LinkExtension.md new file mode 100644 index 0000000..85cd9a6 --- /dev/null +++ b/docs/Render/Twig/LinkExtension.md @@ -0,0 +1,155 @@ +# Class LinkExtension + +Full name: `spaceonfire\ApiDoc\Render\Twig\LinkExtension` + +Parent class name: `Twig\Extension\AbstractExtension` + +This class implements: `Twig\Extension\ExtensionInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------- | -------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_render_twig_linkextension_construct) | | | [📢](# "Visibility: public") | +| [getFunctions](#spaceonfire_apidoc_render_twig_linkextension_getfunctions) | _array_ | | [📢](# "Visibility: public") | +| [anchor](#spaceonfire_apidoc_render_twig_linkextension_anchor) | _string_ | | [📢](# "Visibility: public") | +| [resolveLink](#spaceonfire_apidoc_render_twig_linkextension_resolvelink) | _string_ | | [📢](# "Visibility: public") | +| [getTokenParsers](#twig_extension_abstractextension_gettokenparsers) | | | [📢](# "Visibility: public") | +| [getNodeVisitors](#twig_extension_abstractextension_getnodevisitors) | | | [📢](# "Visibility: public") | +| [getFilters](#twig_extension_abstractextension_getfilters) | | | [📢](# "Visibility: public") | +| [getTests](#twig_extension_abstractextension_gettests) | | | [📢](# "Visibility: public") | +| [getOperators](#twig_extension_abstractextension_getoperators) | | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| --------------- | ------------------------------------------------------- | --------- | ----------- | +| `$linkResolver` | _spaceonfire\ApiDoc\Element\Link\LinkResolverInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Link\LinkResolverInterface $linkResolver) +``` + +File location: `Render/Twig/LinkExtension.php:25` + + + +### getFunctions() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _array_ | | | + +```php +public function getFunctions(): array +``` + +File location: `Render/Twig/LinkExtension.php:31` + + + +### anchor() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ---------------------------------------------- | --------- | ----------- | +| `$fqsen` | _spaceonfire\ApiDoc\Element\ValueObject\Fqsen_ | No | | +| **Return** | _string_ | | | + +```php +public function anchor(spaceonfire\ApiDoc\Element\ValueObject\Fqsen $fqsen): string +``` + +File location: `Render/Twig/LinkExtension.php:39` + + + +### resolveLink() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------------------------ | --------- | ----------- | +| `$link` | _spaceonfire\ApiDoc\Element\ValueObject\LinkInterface_ | No | | +| `$from` | _mixed|null_ | No | | +| **Return** | _string_ | | | + +```php +public function resolveLink(spaceonfire\ApiDoc\Element\ValueObject\LinkInterface $link, mixed|null $from = null): string +``` + +File location: `Render/Twig/LinkExtension.php:49` + + + +### getTokenParsers() + +- **Visibility**: public + +```php +public function getTokenParsers() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:16` + + + +### getNodeVisitors() + +- **Visibility**: public + +```php +public function getNodeVisitors() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:21` + + + +### getFilters() + +- **Visibility**: public + +```php +public function getFilters() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:26` + + + +### getTests() + +- **Visibility**: public + +```php +public function getTests() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:31` + + + +### getOperators() + +- **Visibility**: public + +```php +public function getOperators() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:41` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/Twig/MarkdownExtension.md b/docs/Render/Twig/MarkdownExtension.md new file mode 100644 index 0000000..50acb16 --- /dev/null +++ b/docs/Render/Twig/MarkdownExtension.md @@ -0,0 +1,268 @@ +# Class MarkdownExtension + +Full name: `spaceonfire\ApiDoc\Render\Twig\MarkdownExtension` + +Parent class name: `Twig\Extension\AbstractExtension` + +This class implements: `Twig\Extension\ExtensionInterface` + +## Class members + +| Name | Type | Summary | Additional | +| -------------------------------------------------------------------------- | -------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [getFilters](#spaceonfire_apidoc_render_twig_markdownextension_getfilters) | _array_ | | [📢](# "Visibility: public") | +| [italic](#spaceonfire_apidoc_render_twig_markdownextension_italic) | _string_ | | [📢](# "Visibility: public") | +| [bold](#spaceonfire_apidoc_render_twig_markdownextension_bold) | _string_ | | [📢](# "Visibility: public") | +| [heading](#spaceonfire_apidoc_render_twig_markdownextension_heading) | _string_ | | [📢](# "Visibility: public") | +| [link](#spaceonfire_apidoc_render_twig_markdownextension_link) | _string_ | | [📢](# "Visibility: public") | +| [code](#spaceonfire_apidoc_render_twig_markdownextension_code) | _string_ | | [📢](# "Visibility: public") | +| [oneLine](#spaceonfire_apidoc_render_twig_markdownextension_oneline) | _string_ | | [📢](# "Visibility: public") | +| [pre](#spaceonfire_apidoc_render_twig_markdownextension_pre) | _string_ | | [📢](# "Visibility: public") | +| [tableRow](#spaceonfire_apidoc_render_twig_markdownextension_tablerow) | _string_ | | [📢](# "Visibility: public") | +| [indent](#spaceonfire_apidoc_render_twig_markdownextension_indent) | _string_ | | [📢](# "Visibility: public") | +| [getTokenParsers](#twig_extension_abstractextension_gettokenparsers) | | | [📢](# "Visibility: public") | +| [getNodeVisitors](#twig_extension_abstractextension_getnodevisitors) | | | [📢](# "Visibility: public") | +| [getTests](#twig_extension_abstractextension_gettests) | | | [📢](# "Visibility: public") | +| [getFunctions](#twig_extension_abstractextension_getfunctions) | | | [📢](# "Visibility: public") | +| [getOperators](#twig_extension_abstractextension_getoperators) | | | [📢](# "Visibility: public") | + +## Methods + + + +### getFilters() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _array_ | | | + +```php +public function getFilters(): array +``` + +File location: `Render/Twig/MarkdownExtension.php:12` + + + +### italic() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$text` | _string_ | No | | +| **Return** | _string_ | | | + +```php +public function italic(string $text): string +``` + +File location: `Render/Twig/MarkdownExtension.php:27` + + + +### bold() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$text` | _string_ | No | | +| **Return** | _string_ | | | + +```php +public function bold(string $text): string +``` + +File location: `Render/Twig/MarkdownExtension.php:32` + + + +### heading() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$text` | _string_ | No | | +| `$level` | _int_ | No | | +| **Return** | _string_ | | | + +```php +public function heading(string $text, int $level = 1): string +``` + +File location: `Render/Twig/MarkdownExtension.php:37` + + + +### link() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$text` | _string_ | No | | +| `$url` | _string_ | No | | +| `$title` | _string_ | No | | +| **Return** | _string_ | | | + +```php +public function link(string $text, string $url, string $title = ''): string +``` + +File location: `Render/Twig/MarkdownExtension.php:42` + + + +### code() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$text` | _string_ | No | | +| **Return** | _string_ | | | + +```php +public function code(string $text): string +``` + +File location: `Render/Twig/MarkdownExtension.php:52` + + + +### oneLine() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$text` | _string_ | No | | +| **Return** | _string_ | | | + +```php +public function oneLine(string $text): string +``` + +File location: `Render/Twig/MarkdownExtension.php:57` + + + +### pre() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$text` | _string_ | No | | +| `$lang` | _string_ | No | | +| **Return** | _string_ | | | + +```php +public function pre(string $text, string $lang = ''): string +``` + +File location: `Render/Twig/MarkdownExtension.php:62` + + + +### tableRow() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------------------------------------- | --------- | ----------- | +| `$cells` | _string[]|mixed[]|iterable_ | No | | +| **Return** | _string_ | | | + +```php +public function tableRow(string[]|mixed[]|iterable $cells): string +``` + +File location: `Render/Twig/MarkdownExtension.php:75` + + + +### indent() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------- | --------- | ----------- | +| `$text` | _string_ | No | | +| `$size` | _int_ | No | | +| **Return** | _string_ | | | + +```php +public function indent(string $text, int $size = 4): string +``` + +File location: `Render/Twig/MarkdownExtension.php:93` + + + +### getTokenParsers() + +- **Visibility**: public + +```php +public function getTokenParsers() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:16` + + + +### getNodeVisitors() + +- **Visibility**: public + +```php +public function getNodeVisitors() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:21` + + + +### getTests() + +- **Visibility**: public + +```php +public function getTests() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:31` + + + +### getFunctions() + +- **Visibility**: public + +```php +public function getFunctions() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:36` + + + +### getOperators() + +- **Visibility**: public + +```php +public function getOperators() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:41` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/Twig/SignatureExtension.md b/docs/Render/Twig/SignatureExtension.md new file mode 100644 index 0000000..fa68b3d --- /dev/null +++ b/docs/Render/Twig/SignatureExtension.md @@ -0,0 +1,136 @@ +# Class SignatureExtension + +Full name: `spaceonfire\ApiDoc\Render\Twig\SignatureExtension` + +Parent class name: `Twig\Extension\AbstractExtension` + +This class implements: `Twig\Extension\ExtensionInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_render_twig_signatureextension_construct) | | | [📢](# "Visibility: public") | +| [getFunctions](#spaceonfire_apidoc_render_twig_signatureextension_getfunctions) | _array_ | | [📢](# "Visibility: public") | +| [signature](#spaceonfire_apidoc_render_twig_signatureextension_signature) | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet|null_ | | [📢](# "Visibility: public") | +| [getTokenParsers](#twig_extension_abstractextension_gettokenparsers) | | | [📢](# "Visibility: public") | +| [getNodeVisitors](#twig_extension_abstractextension_getnodevisitors) | | | [📢](# "Visibility: public") | +| [getFilters](#twig_extension_abstractextension_getfilters) | | | [📢](# "Visibility: public") | +| [getTests](#twig_extension_abstractextension_gettests) | | | [📢](# "Visibility: public") | +| [getOperators](#twig_extension_abstractextension_getoperators) | | | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| -------------------- | ----------------------------------------------------------------- | --------- | ----------- | +| `$signatureRenderer` | _spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface_ | No | | + +```php +public function __construct(spaceonfire\ApiDoc\Element\Signature\SignatureRendererInterface $signatureRenderer) +``` + +File location: `Render/Twig/SignatureExtension.php:20` + + + +### getFunctions() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | ------- | --------- | ----------- | +| **Return** | _array_ | | | + +```php +public function getFunctions(): array +``` + +File location: `Render/Twig/SignatureExtension.php:25` + + + +### signature() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | -------------------------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet|null_ | | | + +```php +public function signature(spaceonfire\ApiDoc\Element\ElementInterface $element): spaceonfire\ApiDoc\Element\ValueObject\CodeSnippet|null +``` + +File location: `Render/Twig/SignatureExtension.php:32` + + + +### getTokenParsers() + +- **Visibility**: public + +```php +public function getTokenParsers() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:16` + + + +### getNodeVisitors() + +- **Visibility**: public + +```php +public function getNodeVisitors() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:21` + + + +### getFilters() + +- **Visibility**: public + +```php +public function getFilters() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:26` + + + +### getTests() + +- **Visibility**: public + +```php +public function getTests() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:31` + + + +### getOperators() + +- **Visibility**: public + +```php +public function getOperators() +``` + +File location: `/var/www/html/vendor/composer/../twig/twig/src/Extension/AbstractExtension.php:41` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/Render/TwigRenderer.md b/docs/Render/TwigRenderer.md new file mode 100644 index 0000000..0ee7705 --- /dev/null +++ b/docs/Render/TwigRenderer.md @@ -0,0 +1,77 @@ +# Class TwigRenderer + +Full name: `spaceonfire\ApiDoc\Render\TwigRenderer` + +This class implements: `spaceonfire\ApiDoc\Render\RendererInterface` + +## Class members + +| Name | Type | Summary | Additional | +| ------------------------------------------------------------------ | -------- | -------------------------------- | ---------------------------- | +| _Methods_ | | | | +| [\_\_construct](#spaceonfire_apidoc_render_twigrenderer_construct) | | TwigRenderer constructor. | [📢](# "Visibility: public") | +| [supports](#spaceonfire_apidoc_render_twigrenderer_supports) | _bool_ | | [📢](# "Visibility: public") | +| [render](#spaceonfire_apidoc_render_twigrenderer_render) | _string_ | Renders apiDoc for given element | [📢](# "Visibility: public") | + +## Methods + + + +### \_\_construct() + +TwigRenderer constructor. + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ----------------------- | --------------------------------------------------------- | --------- | ----------- | +| `$twig` | _Twig\Environment_ | No | | +| `$templateNameStrategy` | _spaceonfire\ApiDoc\Render\TemplateNameStrategyInterface_ | No | | +| `$defaultContext` | _array|array_ | No | | + +```php +public function __construct(Twig\Environment $twig, spaceonfire\ApiDoc\Render\TemplateNameStrategyInterface $templateNameStrategy, array|array $defaultContext = []) +``` + +File location: `Render/TwigRenderer.php:31` + + + +### supports() + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| **Return** | _bool_ | | | + +```php +public function supports(spaceonfire\ApiDoc\Element\ElementInterface $element): bool +``` + +File location: `Render/TwigRenderer.php:44` + + + +### render() + +Renders apiDoc for given element + +- **Visibility**: public + +| Param | Type | Reference | Description | +| ---------- | --------------------------------------------- | --------- | ----------- | +| `$element` | _spaceonfire\ApiDoc\Element\ElementInterface_ | No | | +| `$context` | _array|array_ | No | | +| **Return** | _string_ | | | + +```php +public function render(spaceonfire\ApiDoc\Element\ElementInterface $element, array|array $context = []): string +``` + +File location: `Render/TwigRenderer.php:52` + +--- + +This file automatically generated by [SpaceOnFire ApiDoc](https://github.com/spaceonfire/apidoc) diff --git a/docs/spaceonfire/SimplePhpApiDoc/Context.md b/docs/spaceonfire/SimplePhpApiDoc/Context.md deleted file mode 100644 index c102805..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Context.md +++ /dev/null @@ -1,182 +0,0 @@ -# Class Context - -- Full name: `\spaceonfire\SimplePhpApiDoc\Context` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $classes`|\spaceonfire\SimplePhpApiDoc\Elements\ClassElement[]||| -|`protected $constants`|\spaceonfire\SimplePhpApiDoc\Elements\ConstantElement[]||| -|`protected $filesMap`|\phpDocumentor\Reflection\Php\File[]|array|Map full qualified name to file object where it declared|| -|`protected $finder`|\Symfony\Component\Finder\Finder||| -|`protected $functions`|\spaceonfire\SimplePhpApiDoc\Elements\FunctionElement[]||| -|`protected $interfaces`|\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement[]||| -|`protected $namespaces`|\spaceonfire\SimplePhpApiDoc\Elements\Collections\NamespacesCollection||| -|`protected $project`|\phpDocumentor\Reflection\Php\Project|\phpDocumentor\Reflection\Project||| -|`protected $projectName`|string||| -|`protected $traits`|\spaceonfire\SimplePhpApiDoc\Elements\TraitElement[]||| - -## Methods - -### __construct() - -Context constructor. - -|Param|Type|Description| -|---|---|---| -|`$projectName`|*string*|| -|`$finder`|*\Symfony\Component\Finder\Finder*|| - -```php -public function Context::__construct(string $projectName, \Symfony\Component\Finder\Finder $finder): mixed -``` - -File location: `src/Context.php:73` - -### elementFactory() - -Decorate phpDocumentor elements with custom element classes - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Element|mixed*|Element to decorate| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface|mixed*|Decorated element or source element if there no mappings for this type| - -```php -public function Context::elementFactory(mixed $element): mixed -``` - -File location: `src/Context.php:111` - -### getClasses() - -Returns a list of class descriptors contained in project files. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\ClassElement[]*|| - -```php -public function Context::getClasses(): array -``` - -File location: `src/Context.php:185` - -### getConstants() - -Returns a list of constant descriptors contained in project files. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\ConstantElement[]*|| - -```php -public function Context::getConstants(): array -``` - -File location: `src/Context.php:224` - -### getElement() - -Get element object by name - -|Param|Type|Description| -|---|---|---| -|`$fqsen`|*string*|Fully Qualified Structural Element Name| -|**Return**|*mixed|null*|| - -```php -public function Context::getElement(string $fqsen): mixed -``` - -File location: `src/Context.php:261` - -### getFile() - -Get file by element name - -|Param|Type|Description| -|---|---|---| -|`$fqsen`|*string*|Fully Qualified Structural Element Name| -|**Return**|*\phpDocumentor\Reflection\Php\File|null*|| - -```php -public function Context::getFile(string $fqsen): ?\spaceonfire\SimplePhpApiDoc\phpDocumentor\Reflection\Php\File -``` - -File location: `src/Context.php:251` - -### getFunctions() - -Returns a list of function descriptors contained in project files. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\FunctionElement[]*|| - -```php -public function Context::getFunctions(): array -``` - -File location: `src/Context.php:237` - -### getInterfaces() - -Returns a list of interface descriptors contained in project files. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement[]*|| - -```php -public function Context::getInterfaces(): array -``` - -File location: `src/Context.php:198` - -### getNamespaces() - -Returns all namespaces with their sub-elements. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\NamespacesCollection*|| - -```php -public function Context::getNamespaces(): \spaceonfire\SimplePhpApiDoc\spaceonfire\SimplePhpApiDoc\Elements\Collections\NamespacesCollection -``` - -File location: `src/Context.php:149` - -### getProject() - -Getter for `project` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Project|\phpDocumentor\Reflection\Project*|| - -```php -public function Context::getProject(): \spaceonfire\SimplePhpApiDoc\phpDocumentor\Reflection\Project -``` - -File location: `src/Context.php:101` - -### getTraits() - -Returns a list of trait descriptors contained in project files. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\TraitElement[]*|| - -```php -public function Context::getTraits(): array -``` - -File location: `src/Context.php:211` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/ArgumentElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/ArgumentElement.md deleted file mode 100644 index 81bc31a..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/ArgumentElement.md +++ /dev/null @@ -1,134 +0,0 @@ -# Class ArgumentElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\ArgumentElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $element`|\phpDocumentor\Reflection\Php\Argument||| - -## Methods - -### __toString() - -```php -public function ArgumentElement::__toString(): mixed -``` - -File location: `src/Elements/ArgumentElement.php:89` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getDefault() - -```php -public function ArgumentElement::getDefault(): ?string -``` - -File location: `src/Elements/ArgumentElement.php:50` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Argument*|| - -```php -public function ArgumentElement::getElement(): mixed -``` - -File location: `src/Elements/ArgumentElement.php:21` - -### getName() - -Returns the name of this argument. - -```php -public function ArgumentElement::getName(): string -``` - -File location: `src/Elements/ArgumentElement.php:40` - -### getSignature() - -```php -public function ArgumentElement::getSignature(): string -``` - -File location: `src/Elements/ArgumentElement.php:65` - -### getType() - -```php -public function ArgumentElement::getType(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Type -``` - -File location: `src/Elements/ArgumentElement.php:45` - -### isByReference() - -```php -public function ArgumentElement::isByReference(): bool -``` - -File location: `src/Elements/ArgumentElement.php:55` - -### isVariadic() - -```php -public function ArgumentElement::isVariadic(): bool -``` - -File location: `src/Elements/ArgumentElement.php:60` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Argument*|| -|**Return**|*static*|| - -```php -public function ArgumentElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/ArgumentElement.php:31` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/BaseElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/BaseElement.md deleted file mode 100644 index bb5612c..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/BaseElement.md +++ /dev/null @@ -1,83 +0,0 @@ -# Class BaseElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $element`|\phpDocumentor\Reflection\Element||| - -## Methods - -### __construct() - -```php -public function BaseElement::__construct(mixed $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:21` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Element*|| - -```php -public function BaseElement::getElement(): mixed -``` - -File location: `src/Elements/BaseElement.php:52` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Element*|| -|**Return**|*static*|| - -```php -public function BaseElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/BaseElement.php:62` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/ClassElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/ClassElement.md deleted file mode 100644 index 340d046..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/ClassElement.md +++ /dev/null @@ -1,263 +0,0 @@ -# Class ClassElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\ClassElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\PropertyOwnerInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $constants`|\spaceonfire\SimplePhpApiDoc\Elements\ConstantElement[]||| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $docBlock`|\phpDocumentor\Reflection\DocBlock|null||| -|`protected $element`|\phpDocumentor\Reflection\Php\Class_||| -|`protected $methods`|\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection||| -|`protected $properties`|\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection||| -|`protected $traits`|\spaceonfire\SimplePhpApiDoc\Elements\Collections\TraitsCollection||| - -## Methods - -### __construct() - -ClassElement constructor. - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Class_*|| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function ClassElement::__construct(\phpDocumentor\Reflection\Php\Class_ $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/ClassElement.php:52` - -### getConstants() - -Returns the constants of this class. - -|Param|Type|Description| -|---|---|---| -|`$includeParent`|*bool*|| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\ConstantElement[]*|| - -```php -public function ClassElement::getConstants(bool $includeParent = true): array -``` - -File location: `src/Elements/ClassElement.php:130` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getDocBlock() - -```php -public function ClassElement::getDocBlock(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/ClassElement.php:239` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Class_*|| - -```php -public function ClassElement::getElement(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Class_ -``` - -File location: `src/Elements/ClassElement.php:61` - -### getFqsen() - -```php -public function ClassElement::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/ClassElement.php:229` - -### getInterfaces() - -Returns the interfaces this class is implementing. - -|Param|Type|Description| -|---|---|---| -|`$includeParent`|*bool*|| -|**Return**|*\phpDocumentor\Reflection\Fqsen[]*|| - -```php -public function ClassElement::getInterfaces(bool $includeParent = true): array -``` - -File location: `src/Elements/ClassElement.php:114` - -### getLocation() - -```php -public function ClassElement::getLocation(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Location -``` - -File location: `src/Elements/ClassElement.php:252` - -### getMethods() - -Returns collection of methods - -|Param|Type|Description| -|---|---|---| -|`$includeParent`|*bool*|| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection*|| - -```php -public function ClassElement::getMethods(bool $includeParent = true): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection -``` - -File location: `src/Elements/ClassElement.php:151` - -### getName() - -```php -public function ClassElement::getName(): string -``` - -File location: `src/Elements/ClassElement.php:234` - -### getParent() - -```php -public function ClassElement::getParent(): ?\spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\ClassElement -``` - -File location: `src/Elements/ClassElement.php:95` - -### getParentFqsen() - -Returns the superclass this class is extending if available. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen|null*|| - -```php -public function ClassElement::getParentFqsen(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/ClassElement.php:104` - -### getProperties() - -Returns collection of properties - -|Param|Type|Description| -|---|---|---| -|`$includeParent`|*bool*|| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection*|| - -```php -public function ClassElement::getProperties(bool $includeParent = true): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection -``` - -File location: `src/Elements/ClassElement.php:185` - -### getUsedTraits() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\TraitsCollection*|| - -```php -public function ClassElement::getUsedTraits(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\TraitsCollection -``` - -File location: `src/Elements/ClassElement.php:213` - -### getUsedTraitsFqsen() - -```php -public function ClassElement::getUsedTraitsFqsen(): array -``` - -File location: `src/Elements/ClassElement.php:224` - -### isAbstract() - -Returns true when this class is abstract. Otherwise returns false. - -|Param|Type|Description| -|---|---|---| -|**Return**|*bool*|| - -```php -public function ClassElement::isAbstract(): bool -``` - -File location: `src/Elements/ClassElement.php:90` - -### isFinal() - -Returns true when this class is final. Otherwise returns false. - -|Param|Type|Description| -|---|---|---| -|**Return**|*bool*|| - -```php -public function ClassElement::isFinal(): bool -``` - -File location: `src/Elements/ClassElement.php:81` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Class_*|| -|**Return**|*static*|| - -```php -public function ClassElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/ClassElement.php:71` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/FilterableByVisibilityCollectionInterface.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/FilterableByVisibilityCollectionInterface.md deleted file mode 100644 index db10d23..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/FilterableByVisibilityCollectionInterface.md +++ /dev/null @@ -1,33 +0,0 @@ -# Interface FilterableByVisibilityCollectionInterface - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface` -- This interface extends: `\spaceonfire\Collection\CollectionInterface` - -## Constants - -|Constant|Value|Description| -|---|---|---| -|`VISIBILITY_PUBLIC`|`0b1`|| -|`VISIBILITY_PROTECTED`|`0b10`|| -|`VISIBILITY_PRIVATE`|`0b100`|| - -## Methods - -### filterByVisibility() - -Filter elements by their visibility - -|Param|Type|Description| -|---|---|---| -|`$visibility`|*int*|Visibility bitmask| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface*|| - -```php -public function FilterableByVisibilityCollectionInterface::filterByVisibility(int $visibility): \spaceonfire\SimplePhpApiDoc\Elements\Collections\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface -``` - -File location: `src/Elements/Collections/FilterableByVisibilityCollectionInterface.php:20` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/FilterableByVisibilityCollectionTrait.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/FilterableByVisibilityCollectionTrait.md deleted file mode 100644 index b9383c0..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/FilterableByVisibilityCollectionTrait.md +++ /dev/null @@ -1,19 +0,0 @@ -# Class FilterableByVisibilityCollectionTrait - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionTrait` - -## Methods - -### filterByVisibility() - -{@inheritDoc} - -```php -public function FilterableByVisibilityCollectionTrait::filterByVisibility(int $visibility): \spaceonfire\SimplePhpApiDoc\Elements\Collections\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface -``` - -File location: `src/Elements/Collections/FilterableByVisibilityCollectionTrait.php:12` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/MethodsCollection.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/MethodsCollection.md deleted file mode 100644 index 909410d..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/MethodsCollection.md +++ /dev/null @@ -1,40 +0,0 @@ -# Class MethodsCollection - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection` -- This class implements: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface` -- This class uses: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionTrait` - -## Methods - -### __construct() - -MethodsCollection constructor. - -|Param|Type|Description| -|---|---|---| -|`$items`|*array*|| - -```php -public function MethodsCollection::__construct(mixed $items = []): mixed -``` - -File location: `src/Elements/Collections/MethodsCollection.php:18` - -### filterByVisibility() - -Filter elements by their visibility - -|Param|Type|Description| -|---|---|---| -|`$visibility`|*int*|Visibility bitmask| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface*|| - -```php -public function FilterableByVisibilityCollectionTrait::filterByVisibility(int $visibility): \spaceonfire\SimplePhpApiDoc\Elements\Collections\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface -``` - -File location: `src/Elements/Collections/MethodsCollection.php:12` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/NamespacesCollection.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/NamespacesCollection.md deleted file mode 100644 index 496b57d..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/NamespacesCollection.md +++ /dev/null @@ -1,23 +0,0 @@ -# Class NamespacesCollection - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\NamespacesCollection` - -## Methods - -### __construct() - -NamespacesCollection constructor. - -|Param|Type|Description| -|---|---|---| -|`$items`|*array*|| - -```php -public function NamespacesCollection::__construct(mixed $items = []): mixed -``` - -File location: `src/Elements/Collections/NamespacesCollection.php:16` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/PropertiesCollection.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/PropertiesCollection.md deleted file mode 100644 index 4c8f25e..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/PropertiesCollection.md +++ /dev/null @@ -1,40 +0,0 @@ -# Class PropertiesCollection - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection` -- This class implements: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface` -- This class uses: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionTrait` - -## Methods - -### __construct() - -PropertiesCollection constructor. - -|Param|Type|Description| -|---|---|---| -|`$items`|*array*|| - -```php -public function PropertiesCollection::__construct(mixed $items = []): mixed -``` - -File location: `src/Elements/Collections/PropertiesCollection.php:18` - -### filterByVisibility() - -Filter elements by their visibility - -|Param|Type|Description| -|---|---|---| -|`$visibility`|*int*|Visibility bitmask| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface*|| - -```php -public function FilterableByVisibilityCollectionTrait::filterByVisibility(int $visibility): \spaceonfire\SimplePhpApiDoc\Elements\Collections\spaceonfire\SimplePhpApiDoc\Elements\Collections\FilterableByVisibilityCollectionInterface -``` - -File location: `src/Elements/Collections/PropertiesCollection.php:12` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/TraitsCollection.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/TraitsCollection.md deleted file mode 100644 index e9a8ad1..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/Collections/TraitsCollection.md +++ /dev/null @@ -1,51 +0,0 @@ -# Class TraitsCollection - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\Collections\TraitsCollection` - -## Methods - -### __construct() - -TraitsCollection constructor. - -|Param|Type|Description| -|---|---|---| -|`$items`|*array*|| - -```php -public function TraitsCollection::__construct(mixed $items = []): mixed -``` - -File location: `src/Elements/Collections/TraitsCollection.php:16` - -### getMethods() - -Returns collection of methods - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection*|| - -```php -public function TraitsCollection::getMethods(): \spaceonfire\SimplePhpApiDoc\Elements\Collections\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection -``` - -File location: `src/Elements/Collections/TraitsCollection.php:25` - -### getProperties() - -Returns collection of properties - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection*|| - -```php -public function TraitsCollection::getProperties(): \spaceonfire\SimplePhpApiDoc\Elements\Collections\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection -``` - -File location: `src/Elements/Collections/TraitsCollection.php:37` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/ConstantElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/ConstantElement.md deleted file mode 100644 index f421750..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/ConstantElement.md +++ /dev/null @@ -1,141 +0,0 @@ -# Class ConstantElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\ConstantElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $element`|\phpDocumentor\Reflection\Php\Constant||| - -## Methods - -### __construct() - -ClassElement constructor. - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Constant*|| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function ConstantElement::__construct(\phpDocumentor\Reflection\Php\Constant $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/ConstantElement.php:25` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getDocBlock() - -Returns DocBlock of this constant if available. - -```php -public function ConstantElement::getDocBlock(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/ConstantElement.php:77` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Constant*|| - -```php -public function ConstantElement::getElement(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Constant -``` - -File location: `src/Elements/ConstantElement.php:34` - -### getFqsen() - -Returns the Fqsen of the element. - -```php -public function ConstantElement::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/ConstantElement.php:61` - -### getLocation() - -```php -public function ConstantElement::getLocation(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Location -``` - -File location: `src/Elements/ConstantElement.php:82` - -### getName() - -Returns the name of the element. - -```php -public function ConstantElement::getName(): string -``` - -File location: `src/Elements/ConstantElement.php:69` - -### getValue() - -Returns the value of this constant. - -```php -public function ConstantElement::getValue(): ?string -``` - -File location: `src/Elements/ConstantElement.php:53` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Constant*|| -|**Return**|*static*|| - -```php -public function ConstantElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/ConstantElement.php:44` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/BaseDocBlockResolver.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/BaseDocBlockResolver.md deleted file mode 100644 index 3a2c500..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/BaseDocBlockResolver.md +++ /dev/null @@ -1,79 +0,0 @@ -# Class BaseDocBlockResolver - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\BaseDocBlockResolver` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $docBlock`|\phpDocumentor\Reflection\DocBlock||| -|`protected static $inheritedTags`|||[]| - -## Methods - -### getContext() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseDocBlockResolver::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:29` - -### getDocBlock() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\DocBlock*|| - -```php -public function BaseDocBlockResolver::getDocBlock(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:47` - -### resolve() - -```php -abstract public function BaseDocBlockResolver::resolve(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:62` - -### setContext() - - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseDocBlockResolver::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:38` - -### setDocBlock() - - -|Param|Type|Description| -|---|---|---| -|`$docBlock`|*\phpDocumentor\Reflection\DocBlock*|| -|**Return**|*static*|| - -```php -public function BaseDocBlockResolver::setDocBlock(\phpDocumentor\Reflection\DocBlock $docBlock): mixed -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:56` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/ClassDocBlockResolver.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/ClassDocBlockResolver.md deleted file mode 100644 index b40494d..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/ClassDocBlockResolver.md +++ /dev/null @@ -1,125 +0,0 @@ -# Class ClassDocBlockResolver - -Class ClassDocBlockResolver - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\ClassDocBlockResolver` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\BaseDocBlockResolver` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $class`|\spaceonfire\SimplePhpApiDoc\Elements\ClassElement||| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $docBlock`|\phpDocumentor\Reflection\DocBlock||| -|`protected static $inheritedTags`|||[author, copyright, package, subpackage, version]| - -## Methods - -### __construct() - -ClassDocBlockResolver constructor. - -|Param|Type|Description| -|---|---|---| -|`$docBlock`|*\phpDocumentor\Reflection\DocBlock*|| -|`$class`|*\spaceonfire\SimplePhpApiDoc\Elements\ClassElement*|| - -```php -public function ClassDocBlockResolver::__construct(\phpDocumentor\Reflection\DocBlock $docBlock, \spaceonfire\SimplePhpApiDoc\Elements\ClassElement $class): mixed -``` - -File location: `src/Elements/DocBlockResolver/ClassDocBlockResolver.php:35` - -### getClass() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\ClassElement*|| - -```php -public function ClassDocBlockResolver::getClass(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Elements\ClassElement -``` - -File location: `src/Elements/DocBlockResolver/ClassDocBlockResolver.php:45` - -### getContext() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseDocBlockResolver::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:29` - -### getDocBlock() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\DocBlock*|| - -```php -public function BaseDocBlockResolver::getDocBlock(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:47` - -### resolve() - -```php -public function ClassDocBlockResolver::resolve(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/DocBlockResolver/ClassDocBlockResolver.php:60` - -### setClass() - - -|Param|Type|Description| -|---|---|---| -|`$class`|*\spaceonfire\SimplePhpApiDoc\Elements\ClassElement*|| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\ClassDocBlockResolver*|| - -```php -public function ClassDocBlockResolver::setClass(\spaceonfire\SimplePhpApiDoc\Elements\ClassElement $class): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\ClassDocBlockResolver -``` - -File location: `src/Elements/DocBlockResolver/ClassDocBlockResolver.php:54` - -### setContext() - - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseDocBlockResolver::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:38` - -### setDocBlock() - - -|Param|Type|Description| -|---|---|---| -|`$docBlock`|*\phpDocumentor\Reflection\DocBlock*|| -|**Return**|*static*|| - -```php -public function BaseDocBlockResolver::setDocBlock(\phpDocumentor\Reflection\DocBlock $docBlock): mixed -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:56` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/MethodDocBlockResolver.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/MethodDocBlockResolver.md deleted file mode 100644 index 5632a03..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/MethodDocBlockResolver.md +++ /dev/null @@ -1,125 +0,0 @@ -# Class MethodDocBlockResolver - -Class MethodDocBlockResolver - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\MethodDocBlockResolver` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\BaseDocBlockResolver` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $docBlock`|\phpDocumentor\Reflection\DocBlock||| -|`protected static $inheritedTags`|||[author, copyright, version, param, return, throws]| -|`protected $method`|\spaceonfire\SimplePhpApiDoc\Elements\MethodElement||| - -## Methods - -### __construct() - -MethodsDocBlockResolver constructor. - -|Param|Type|Description| -|---|---|---| -|`$docBlock`|*\phpDocumentor\Reflection\DocBlock*|| -|`$method`|*\spaceonfire\SimplePhpApiDoc\Elements\MethodElement*|| - -```php -public function MethodDocBlockResolver::__construct(\phpDocumentor\Reflection\DocBlock $docBlock, \spaceonfire\SimplePhpApiDoc\Elements\MethodElement $method): mixed -``` - -File location: `src/Elements/DocBlockResolver/MethodDocBlockResolver.php:38` - -### getContext() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseDocBlockResolver::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:29` - -### getDocBlock() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\DocBlock*|| - -```php -public function BaseDocBlockResolver::getDocBlock(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:47` - -### getMethod() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\MethodElement*|| - -```php -public function MethodDocBlockResolver::getMethod(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Elements\MethodElement -``` - -File location: `src/Elements/DocBlockResolver/MethodDocBlockResolver.php:48` - -### resolve() - -```php -public function MethodDocBlockResolver::resolve(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/DocBlockResolver/MethodDocBlockResolver.php:63` - -### setContext() - - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseDocBlockResolver::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:38` - -### setDocBlock() - - -|Param|Type|Description| -|---|---|---| -|`$docBlock`|*\phpDocumentor\Reflection\DocBlock*|| -|**Return**|*static*|| - -```php -public function BaseDocBlockResolver::setDocBlock(\phpDocumentor\Reflection\DocBlock $docBlock): mixed -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:56` - -### setMethod() - - -|Param|Type|Description| -|---|---|---| -|`$method`|*\spaceonfire\SimplePhpApiDoc\Elements\MethodElement*|| -|**Return**|*static*|| - -```php -public function MethodDocBlockResolver::setMethod(\spaceonfire\SimplePhpApiDoc\Elements\MethodElement $method): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\MethodDocBlockResolver -``` - -File location: `src/Elements/DocBlockResolver/MethodDocBlockResolver.php:57` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/PropertyDocBlockResolver.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/PropertyDocBlockResolver.md deleted file mode 100644 index 89a47e4..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/DocBlockResolver/PropertyDocBlockResolver.md +++ /dev/null @@ -1,125 +0,0 @@ -# Class PropertyDocBlockResolver - -Class PropertyDocBlockResolver - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\PropertyDocBlockResolver` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\BaseDocBlockResolver` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $docBlock`|\phpDocumentor\Reflection\DocBlock||| -|`protected static $inheritedTags`|||[author, copyright, version, var]| -|`protected $property`|\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement||| - -## Methods - -### __construct() - -PropertyDocBlockResolver constructor. - -|Param|Type|Description| -|---|---|---| -|`$docBlock`|*\phpDocumentor\Reflection\DocBlock*|| -|`$property`|*\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement*|| - -```php -public function PropertyDocBlockResolver::__construct(\phpDocumentor\Reflection\DocBlock $docBlock, \spaceonfire\SimplePhpApiDoc\Elements\PropertyElement $property): mixed -``` - -File location: `src/Elements/DocBlockResolver/PropertyDocBlockResolver.php:35` - -### getContext() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseDocBlockResolver::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:29` - -### getDocBlock() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\DocBlock*|| - -```php -public function BaseDocBlockResolver::getDocBlock(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:47` - -### getProperty() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement*|| - -```php -public function PropertyDocBlockResolver::getProperty(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement -``` - -File location: `src/Elements/DocBlockResolver/PropertyDocBlockResolver.php:45` - -### resolve() - -```php -public function PropertyDocBlockResolver::resolve(): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/DocBlockResolver/PropertyDocBlockResolver.php:60` - -### setContext() - - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseDocBlockResolver::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:38` - -### setDocBlock() - - -|Param|Type|Description| -|---|---|---| -|`$docBlock`|*\phpDocumentor\Reflection\DocBlock*|| -|**Return**|*static*|| - -```php -public function BaseDocBlockResolver::setDocBlock(\phpDocumentor\Reflection\DocBlock $docBlock): mixed -``` - -File location: `src/Elements/DocBlockResolver/BaseDocBlockResolver.php:56` - -### setProperty() - - -|Param|Type|Description| -|---|---|---| -|`$property`|*\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement*|| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\PropertyDocBlockResolver*|| - -```php -public function PropertyDocBlockResolver::setProperty(\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement $property): \spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\spaceonfire\SimplePhpApiDoc\Elements\DocBlockResolver\PropertyDocBlockResolver -``` - -File location: `src/Elements/DocBlockResolver/PropertyDocBlockResolver.php:54` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementDecoratorInterface.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementDecoratorInterface.md deleted file mode 100644 index 1810be2..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementDecoratorInterface.md +++ /dev/null @@ -1,38 +0,0 @@ -# Interface ElementDecoratorInterface - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` -- This interface extends: `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - -## Methods - -### getFqsen() - -Returns the Fqsen of the element. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen*|| - -```php -public function ElementDecoratorInterface::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/ElementDecoratorInterface.php:15` - -### getName() - -Returns the name of the element. - -|Param|Type|Description| -|---|---|---| -|**Return**|*string*|| - -```php -public function ElementDecoratorInterface::getName(): string -``` - -File location: `src/Elements/ElementDecoratorInterface.php:21` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementInterface.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementInterface.md deleted file mode 100644 index 9ca3b1a..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementInterface.md +++ /dev/null @@ -1,67 +0,0 @@ -# Interface ElementInterface - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - -## Methods - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function ElementInterface::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/ElementInterface.php:16` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Element*|| - -```php -public function ElementInterface::getElement(): mixed -``` - -File location: `src/Elements/ElementInterface.php:29` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function ElementInterface::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/ElementInterface.php:23` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Element*|| -|**Return**|*static*|| - -```php -public function ElementInterface::setElement(mixed $element): mixed -``` - -File location: `src/Elements/ElementInterface.php:36` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementVisibilityInterface.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementVisibilityInterface.md deleted file mode 100644 index 03cdfe0..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/ElementVisibilityInterface.md +++ /dev/null @@ -1,23 +0,0 @@ -# Interface ElementVisibilityInterface - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\ElementVisibilityInterface` - -## Methods - -### getVisibility() - -Returns the Visibility of this method. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Visibility|null*|| - -```php -public function ElementVisibilityInterface::getVisibility(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Visibility -``` - -File location: `src/Elements/ElementVisibilityInterface.php:15` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/FunctionElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/FunctionElement.md deleted file mode 100644 index 9f13a62..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/FunctionElement.md +++ /dev/null @@ -1,154 +0,0 @@ -# Class FunctionElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\FunctionElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $arguments`|\spaceonfire\SimplePhpApiDoc\Elements\ArgumentElement[]||| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $element`|\phpDocumentor\Reflection\Php\Function_||| - -## Methods - -### __construct() - -FunctionElement constructor. - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Function_*|| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function FunctionElement::__construct(\phpDocumentor\Reflection\Php\Function_ $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/FunctionElement.php:30` - -### getArguments() - -Returns the arguments of this function. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\ArgumentElement[]*|| - -```php -public function FunctionElement::getArguments(): array -``` - -File location: `src/Elements/FunctionElement.php:59` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getDocBlock() - -Returns the DocBlock of the element if available - -```php -public function FunctionElement::getDocBlock(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/FunctionElement.php:89` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Function_*|| - -```php -public function FunctionElement::getElement(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Function_ -``` - -File location: `src/Elements/FunctionElement.php:39` - -### getFqsen() - -Returns the Fqsen of the element. - -```php -public function FunctionElement::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/FunctionElement.php:73` - -### getLocation() - -```php -public function FunctionElement::getLocation(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Location -``` - -File location: `src/Elements/FunctionElement.php:94` - -### getName() - -Returns the name of the element. - -```php -public function FunctionElement::getName(): string -``` - -File location: `src/Elements/FunctionElement.php:81` - -### getReturnType() - -```php -public function FunctionElement::getReturnType(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Type -``` - -File location: `src/Elements/FunctionElement.php:99` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Function_*|| -|**Return**|*static*|| - -```php -public function FunctionElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/FunctionElement.php:49` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/InterfaceElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/InterfaceElement.md deleted file mode 100644 index bcebceb..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/InterfaceElement.md +++ /dev/null @@ -1,176 +0,0 @@ -# Class InterfaceElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $constants`|\spaceonfire\SimplePhpApiDoc\Elements\ConstantElement[]||| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $element`|\phpDocumentor\Reflection\Php\Interface_||| -|`protected $methods`|\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection||| - -## Methods - -### __construct() - -InterfaceElement constructor. - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Interface_*|| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function InterfaceElement::__construct(\phpDocumentor\Reflection\Php\Interface_ $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/InterfaceElement.php:34` - -### getConstants() - -Returns the constants of this interface. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\ConstantElement[]*|| - -```php -public function InterfaceElement::getConstants(): array -``` - -File location: `src/Elements/InterfaceElement.php:63` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getDocBlock() - -Returns the DocBlock of this interface if available. - -```php -public function InterfaceElement::getDocBlock(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/InterfaceElement.php:107` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Interface_*|| - -```php -public function InterfaceElement::getElement(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Interface_ -``` - -File location: `src/Elements/InterfaceElement.php:43` - -### getFqsen() - -Returns the Fqsen of the element. - -```php -public function InterfaceElement::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/InterfaceElement.php:91` - -### getLocation() - -```php -public function InterfaceElement::getLocation(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Location -``` - -File location: `src/Elements/InterfaceElement.php:121` - -### getMethods() - -Returns collection of methods - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection*|| - -```php -public function InterfaceElement::getMethods(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection -``` - -File location: `src/Elements/InterfaceElement.php:77` - -### getName() - -Returns the name of the element. - -```php -public function InterfaceElement::getName(): string -``` - -File location: `src/Elements/InterfaceElement.php:99` - -### getParents() - -Returns the Fqsen of the interfaces this interface is extending. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen[]*|| - -```php -public function InterfaceElement::getParents(): array -``` - -File location: `src/Elements/InterfaceElement.php:116` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Interface_*|| -|**Return**|*static*|| - -```php -public function InterfaceElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/InterfaceElement.php:53` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/MethodElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/MethodElement.md deleted file mode 100644 index 8694e12..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/MethodElement.md +++ /dev/null @@ -1,272 +0,0 @@ -# Class MethodElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\MethodElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementVisibilityInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $arguments`|\spaceonfire\SimplePhpApiDoc\Elements\ArgumentElement[]||| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $docBlock`|\phpDocumentor\Reflection\DocBlock||| -|`protected $element`|\phpDocumentor\Reflection\Php\Method||| -|`protected $owner`|\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface||| - -## Methods - -### __construct() - -MethodElement constructor. - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Method*|| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function MethodElement::__construct(\phpDocumentor\Reflection\Php\Method $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/MethodElement.php:40` - -### __toString() - -```php -public function MethodElement::__toString(): mixed -``` - -File location: `src/Elements/MethodElement.php:212` - -### getArguments() - -Returns the arguments of this method. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\ArgumentElement[]*|| - -```php -public function MethodElement::getArguments(): array -``` - -File location: `src/Elements/MethodElement.php:119` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getDocBlock() - -Returns the DocBlock of this method if available. - -```php -public function MethodElement::getDocBlock(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/MethodElement.php:150` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Method*|| - -```php -public function MethodElement::getElement(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Method -``` - -File location: `src/Elements/MethodElement.php:49` - -### getFileLocation() - -```php -public function MethodElement::getFileLocation(): ?string -``` - -File location: `src/Elements/MethodElement.php:217` - -### getFqsen() - -Returns the Fqsen of the element. - -```php -public function MethodElement::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/MethodElement.php:133` - -### getLocation() - -```php -public function MethodElement::getLocation(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Location -``` - -File location: `src/Elements/MethodElement.php:163` - -### getName() - -Returns the name of the element. - -```php -public function MethodElement::getName(): string -``` - -File location: `src/Elements/MethodElement.php:141` - -### getOwner() - -Getter for `owner` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface*|| - -```php -public function MethodElement::getOwner(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface -``` - -File location: `src/Elements/MethodElement.php:69` - -### getReturnType() - -Returns the in code defined return type. - -Return types are introduced in php 7.0 when your could doesn't have a -return type defined this method will return Mixed_ by default. The return value of this -method is not affected by the return tag in your docblock. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Type*|| - -```php -public function MethodElement::getReturnType(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Type -``` - -File location: `src/Elements/MethodElement.php:177` - -### getShortFqsen() - -```php -public function MethodElement::getShortFqsen(): string -``` - -File location: `src/Elements/MethodElement.php:182` - -### getSignature() - -```php -public function MethodElement::getSignature(): string -``` - -File location: `src/Elements/MethodElement.php:188` - -### getVisibility() - -Returns the Visibility of this method. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Visibility|null*|| - -```php -public function MethodElement::getVisibility(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Visibility -``` - -File location: `src/Elements/MethodElement.php:110` - -### isAbstract() - -Returns true when this method is abstract. Otherwise returns false. - -```php -public function MethodElement::isAbstract(): bool -``` - -File location: `src/Elements/MethodElement.php:88` - -### isFinal() - -Returns true when this method is final. Otherwise returns false. - -```php -public function MethodElement::isFinal(): bool -``` - -File location: `src/Elements/MethodElement.php:96` - -### isStatic() - -Returns true when this method is static. Otherwise returns false. - -```php -public function MethodElement::isStatic(): bool -``` - -File location: `src/Elements/MethodElement.php:104` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Method*|| -|**Return**|*static*|| - -```php -public function MethodElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/MethodElement.php:59` - -### setOwner() - -Setter for `owner` property - -|Param|Type|Description| -|---|---|---| -|`$owner`|*\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface*|| -|**Return**|*static*|| - -```php -public function MethodElement::setOwner(\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface $owner): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\MethodElement -``` - -File location: `src/Elements/MethodElement.php:79` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/MethodOwnerInterface.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/MethodOwnerInterface.md deleted file mode 100644 index bcdaf03..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/MethodOwnerInterface.md +++ /dev/null @@ -1,24 +0,0 @@ -# Interface MethodOwnerInterface - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface` -- This interface extends: `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - -## Methods - -### getMethods() - -Returns collection of methods - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection*|| - -```php -public function MethodOwnerInterface::getMethods(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection -``` - -File location: `src/Elements/MethodOwnerInterface.php:15` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/NamespaceElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/NamespaceElement.md deleted file mode 100644 index 6b81627..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/NamespaceElement.md +++ /dev/null @@ -1,183 +0,0 @@ -# Class NamespaceElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\NamespaceElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $element`|\phpDocumentor\Reflection\Php\Namespace_||| - -## Methods - -### __construct() - -NamespaceElement constructor. - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Namespace_*|| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function NamespaceElement::__construct(\phpDocumentor\Reflection\Php\Namespace_ $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/NamespaceElement.php:23` - -### getClasses() - -Returns a list of all fqsen of classes in this namespace. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen[]*|| - -```php -public function NamespaceElement::getClasses(): array -``` - -File location: `src/Elements/NamespaceElement.php:53` - -### getConstants() - -Returns a list of all constants in this namespace. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen[]*|| - -```php -public function NamespaceElement::getConstants(): array -``` - -File location: `src/Elements/NamespaceElement.php:63` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Namespace_*|| - -```php -public function NamespaceElement::getElement(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Namespace_ -``` - -File location: `src/Elements/NamespaceElement.php:32` - -### getFqsen() - -Returns the Fqsen of the element. - -```php -public function NamespaceElement::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/NamespaceElement.php:101` - -### getFunctions() - -Returns a list of all functions in this namespace. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen[]*|| - -```php -public function NamespaceElement::getFunctions(): array -``` - -File location: `src/Elements/NamespaceElement.php:73` - -### getInterfaces() - -Returns a list of all interfaces in this namespace. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen[]*|| - -```php -public function NamespaceElement::getInterfaces(): array -``` - -File location: `src/Elements/NamespaceElement.php:83` - -### getName() - -Returns the name of the element. - -```php -public function NamespaceElement::getName(): string -``` - -File location: `src/Elements/NamespaceElement.php:109` - -### getTraits() - -Returns a list of all traits in this namespace. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen[]*|| - -```php -public function NamespaceElement::getTraits(): array -``` - -File location: `src/Elements/NamespaceElement.php:93` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Namespace_*|| -|**Return**|*static*|| - -```php -public function NamespaceElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/NamespaceElement.php:42` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/PropertyElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/PropertyElement.md deleted file mode 100644 index c87a752..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/PropertyElement.md +++ /dev/null @@ -1,235 +0,0 @@ -# Class PropertyElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementVisibilityInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $docBlock`|\phpDocumentor\Reflection\DocBlock|null||| -|`protected $element`|\phpDocumentor\Reflection\Php\Property||| -|`protected $owner`|\spaceonfire\SimplePhpApiDoc\Elements\PropertyOwnerInterface||| - -## Methods - -### __construct() - -PropertyElement constructor. - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Property*|| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function PropertyElement::__construct(\phpDocumentor\Reflection\Php\Property $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/PropertyElement.php:36` - -### __toString() - -```php -public function PropertyElement::__toString(): mixed -``` - -File location: `src/Elements/PropertyElement.php:178` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getDefault() - -returns the default value of this property. - -```php -public function PropertyElement::getDefault(): ?string -``` - -File location: `src/Elements/PropertyElement.php:84` - -### getDescription() - -```php -public function PropertyElement::getDescription(): string -``` - -File location: `src/Elements/PropertyElement.php:161` - -### getDocBlock() - -Returns the DocBlock of this property. - -```php -public function PropertyElement::getDocBlock(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/PropertyElement.php:143` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Property*|| - -```php -public function PropertyElement::getElement(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Property -``` - -File location: `src/Elements/PropertyElement.php:45` - -### getFqsen() - -Returns the Fqsen of the element. - -```php -public function PropertyElement::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/PropertyElement.php:127` - -### getLocation() - -```php -public function PropertyElement::getLocation(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Location -``` - -File location: `src/Elements/PropertyElement.php:156` - -### getName() - -Returns the name of the element. - -```php -public function PropertyElement::getName(): string -``` - -File location: `src/Elements/PropertyElement.php:135` - -### getOwner() - -Getter for `owner` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\PropertyOwnerInterface*|| - -```php -public function PropertyElement::getOwner(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\PropertyOwnerInterface -``` - -File location: `src/Elements/PropertyElement.php:65` - -### getSignature() - -```php -public function PropertyElement::getSignature(): string -``` - -File location: `src/Elements/PropertyElement.php:183` - -### getTypes() - -Returns the types of this property. - -|Param|Type|Description| -|---|---|---| -|**Return**|*string[]*|| - -```php -public function PropertyElement::getTypes(): array -``` - -File location: `src/Elements/PropertyElement.php:101` - -### getVisibility() - -Returns the Visibility of this method. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Visibility|null*|| - -```php -public function PropertyElement::getVisibility(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Visibility -``` - -File location: `src/Elements/PropertyElement.php:119` - -### isStatic() - -Returns true when this method is static. Otherwise returns false. - -```php -public function PropertyElement::isStatic(): bool -``` - -File location: `src/Elements/PropertyElement.php:92` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Property*|| -|**Return**|*static*|| - -```php -public function PropertyElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/PropertyElement.php:55` - -### setOwner() - -Setter for `owner` property - -|Param|Type|Description| -|---|---|---| -|`$owner`|*\spaceonfire\SimplePhpApiDoc\Elements\PropertyOwnerInterface*|| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement*|| - -```php -public function PropertyElement::setOwner(\spaceonfire\SimplePhpApiDoc\Elements\PropertyOwnerInterface $owner): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\PropertyElement -``` - -File location: `src/Elements/PropertyElement.php:75` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/PropertyOwnerInterface.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/PropertyOwnerInterface.md deleted file mode 100644 index 15fd0d0..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/PropertyOwnerInterface.md +++ /dev/null @@ -1,24 +0,0 @@ -# Interface PropertyOwnerInterface - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\PropertyOwnerInterface` -- This interface extends: `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - -## Methods - -### getProperties() - -Returns collection of properties - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection*|| - -```php -public function PropertyOwnerInterface::getProperties(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection -``` - -File location: `src/Elements/PropertyOwnerInterface.php:15` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Elements/TraitElement.md b/docs/spaceonfire/SimplePhpApiDoc/Elements/TraitElement.md deleted file mode 100644 index 332aef9..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Elements/TraitElement.md +++ /dev/null @@ -1,189 +0,0 @@ -# Class TraitElement - -- Full name: `\spaceonfire\SimplePhpApiDoc\Elements\TraitElement` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Elements\BaseElement` -- This class implements: - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\ElementDecoratorInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\MethodOwnerInterface` - - `\spaceonfire\SimplePhpApiDoc\Elements\PropertyOwnerInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $element`|\phpDocumentor\Reflection\Php\Trait_||| -|`protected $methods`|\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection||| -|`protected $properties`|\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection||| -|`protected $traits`|\spaceonfire\SimplePhpApiDoc\Elements\Collections\TraitsCollection||| - -## Methods - -### __construct() - -TraitElement constructor. - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Trait_*|| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function TraitElement::__construct(\phpDocumentor\Reflection\Php\Trait_ $element, \spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/TraitElement.php:43` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseElement::getContext(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Elements/BaseElement.php:32` - -### getDocBlock() - -```php -public function TraitElement::getDocBlock(): ?\spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\DocBlock -``` - -File location: `src/Elements/TraitElement.php:124` - -### getElement() - -Getter for `element` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Php\Trait_*|| - -```php -public function TraitElement::getElement(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Php\Trait_ -``` - -File location: `src/Elements/TraitElement.php:52` - -### getFqsen() - -Returns the Fqsen of the element. - -```php -public function TraitElement::getFqsen(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Fqsen -``` - -File location: `src/Elements/TraitElement.php:111` - -### getLocation() - -```php -public function TraitElement::getLocation(): \spaceonfire\SimplePhpApiDoc\Elements\phpDocumentor\Reflection\Location -``` - -File location: `src/Elements/TraitElement.php:152` - -### getMethods() - -Returns collection of methods - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection*|| - -```php -public function TraitElement::getMethods(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\MethodsCollection -``` - -File location: `src/Elements/TraitElement.php:71` - -### getName() - -Returns the name of the element. - -```php -public function TraitElement::getName(): string -``` - -File location: `src/Elements/TraitElement.php:119` - -### getProperties() - -Returns collection of properties - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection*|| - -```php -public function TraitElement::getProperties(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\PropertiesCollection -``` - -File location: `src/Elements/TraitElement.php:91` - -### getUsedTraits() - - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Elements\Collections\TraitsCollection*|| - -```php -public function TraitElement::getUsedTraits(): \spaceonfire\SimplePhpApiDoc\Elements\spaceonfire\SimplePhpApiDoc\Elements\Collections\TraitsCollection -``` - -File location: `src/Elements/TraitElement.php:132` - -### getUsedTraitsFqsen() - -Returns fqsen of all traits used by this trait. - -|Param|Type|Description| -|---|---|---| -|**Return**|*\phpDocumentor\Reflection\Fqsen[]*|| - -```php -public function TraitElement::getUsedTraitsFqsen(): array -``` - -File location: `src/Elements/TraitElement.php:147` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseElement::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): mixed -``` - -File location: `src/Elements/BaseElement.php:42` - -### setElement() - -Setter for `element` property - -|Param|Type|Description| -|---|---|---| -|`$element`|*\phpDocumentor\Reflection\Php\Trait_*|| -|**Return**|*static*|| - -```php -public function TraitElement::setElement(mixed $element): mixed -``` - -File location: `src/Elements/TraitElement.php:62` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/GeneratorCommand.md b/docs/spaceonfire/SimplePhpApiDoc/GeneratorCommand.md deleted file mode 100644 index 7e980c0..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/GeneratorCommand.md +++ /dev/null @@ -1,118 +0,0 @@ -# Class GeneratorCommand - -- Full name: `\spaceonfire\SimplePhpApiDoc\GeneratorCommand` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $methodsVisibility`|int||| -|`protected $propertiesVisibility`|int||| - -## Methods - -### __construct() - -GeneratorCommand constructor. - -|Param|Type|Description| -|---|---|---| -|`$name`|*string|null*|| -|`$composer`|*array*|| - -```php -public function GeneratorCommand::__construct(array $composer = [], string $name = null): mixed -``` - -File location: `src/GeneratorCommand.php:43` - -### getComposer() - -Getter for `composer` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*array*|| - -```php -public function GeneratorCommand::getComposer(): array -``` - -File location: `src/GeneratorCommand.php:54` - -### getMethodsVisibility() - -Getter for `methodsVisibility` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*int*|| - -```php -public function GeneratorCommand::getMethodsVisibility(): int -``` - -File location: `src/GeneratorCommand.php:94` - -### getPropertiesVisibility() - -Getter for `propertiesVisibility` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*int*|| - -```php -public function GeneratorCommand::getPropertiesVisibility(): int -``` - -File location: `src/GeneratorCommand.php:74` - -### setComposer() - -Setter for `composer` property - -|Param|Type|Description| -|---|---|---| -|`$composer`|*array*|| -|**Return**|*static*|| - -```php -public function GeneratorCommand::setComposer(array $composer): mixed -``` - -File location: `src/GeneratorCommand.php:64` - -### setMethodsVisibility() - -Setter for `methodsVisibility` property - -|Param|Type|Description| -|---|---|---| -|`$methodsVisibility`|*int*|| -|**Return**|*static*|| - -```php -public function GeneratorCommand::setMethodsVisibility(int $methodsVisibility): mixed -``` - -File location: `src/GeneratorCommand.php:104` - -### setPropertiesVisibility() - -Setter for `propertiesVisibility` property - -|Param|Type|Description| -|---|---|---| -|`$propertiesVisibility`|*int*|| -|**Return**|*static*|| - -```php -public function GeneratorCommand::setPropertiesVisibility(int $propertiesVisibility): mixed -``` - -File location: `src/GeneratorCommand.php:84` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Renderers/BaseRenderer.md b/docs/spaceonfire/SimplePhpApiDoc/Renderers/BaseRenderer.md deleted file mode 100644 index 3ff604f..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Renderers/BaseRenderer.md +++ /dev/null @@ -1,303 +0,0 @@ -# Class BaseRenderer - -- Full name: `\spaceonfire\SimplePhpApiDoc\Renderers\BaseRenderer` -- This class implements: `\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $fs`|\Symfony\Component\Filesystem\Filesystem|Symfony Filesystem Component|| -|`protected $methodsVisibility`|int||| -|`protected $output`|\Symfony\Component\Console\Output\OutputInterface|Output interface of Symfony Console Component|| -|`protected $outputDir`|string||| -|`protected $propertiesVisibility`|int||| -|`protected $viewsDir`|string||| - -## Methods - -### __construct() - -```php -public function BaseRenderer::__construct(\spaceonfire\SimplePhpApiDoc\Context $context = null, string $outputDir = null): mixed -``` - -File location: `src/Renderers/BaseRenderer.php:48` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseRenderer::getContext(): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Renderers/BaseRenderer.php:55` - -### getFileName() - -Generates file name with extension - -|Param|Type|Description| -|---|---|---| -|`$fqsen`|*\phpDocumentor\Reflection\Fqsen*|| -|**Return**|*string*|| - -```php -public function BaseRenderer::getFileName(\phpDocumentor\Reflection\Fqsen $fqsen): string -``` - -File location: `src/Renderers/BaseRenderer.php:190` - -### getFs() - -Getter for `fs` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\Symfony\Component\Filesystem\Filesystem*|| - -```php -public function BaseRenderer::getFs(): \spaceonfire\SimplePhpApiDoc\Renderers\Symfony\Component\Filesystem\Filesystem -``` - -File location: `src/Renderers/BaseRenderer.php:102` - -### getMethodsVisibility() - -Getter for `methodsVisibility` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*int*|| - -```php -public function BaseRenderer::getMethodsVisibility(): int -``` - -File location: `src/Renderers/BaseRenderer.php:141` - -### getOutput() - -Getter for `output` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\Symfony\Component\Console\Output\OutputInterface*|| - -```php -public function BaseRenderer::getOutput(): \spaceonfire\SimplePhpApiDoc\Renderers\Symfony\Component\Console\Output\OutputInterface -``` - -File location: `src/Renderers/BaseRenderer.php:115` - -### getOutputDir() - -Getter for `outputDir` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*string*|| - -```php -public function BaseRenderer::getOutputDir(): string -``` - -File location: `src/Renderers/BaseRenderer.php:68` - -### getPropertiesVisibility() - -Getter for `propertiesVisibility` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*int*|| - -```php -public function BaseRenderer::getPropertiesVisibility(): int -``` - -File location: `src/Renderers/BaseRenderer.php:128` - -### getViewsDir() - -Getter for `viewsDir` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*string*|| - -```php -public function BaseRenderer::getViewsDir(): string -``` - -File location: `src/Renderers/BaseRenderer.php:85` - -### renderClasses() - -Render documentation content for class - -|Param|Type|Description| -|---|---|---| -|`$interface`|*\spaceonfire\SimplePhpApiDoc\Elements\ClassElement*|| -|**Return**|*string*|| - -```php -public function BaseRenderer::renderClasses(\spaceonfire\SimplePhpApiDoc\Elements\ClassElement $interface): string -``` - -File location: `src/Renderers/BaseRenderer.php:236` - -### renderInterfaces() - -Render documentation content for interface - -|Param|Type|Description| -|---|---|---| -|`$interface`|*\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement*|| -|**Return**|*string*|| - -```php -public function BaseRenderer::renderInterfaces(\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement $interface): string -``` - -File location: `src/Renderers/BaseRenderer.php:230` - -### renderTraits() - -Render documentation content for class - -|Param|Type|Description| -|---|---|---| -|`$trait`|*\spaceonfire\SimplePhpApiDoc\Elements\TraitElement*|| -|**Return**|*string*|| - -```php -public function BaseRenderer::renderTraits(\spaceonfire\SimplePhpApiDoc\Elements\TraitElement $trait): string -``` - -File location: `src/Renderers/BaseRenderer.php:242` - -### run() - -Render documentation - -```php -public function BaseRenderer::run(): void -``` - -File location: `src/Renderers/BaseRenderer.php:154` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:61` - -### setFs() - -Setter for `fs` property - -|Param|Type|Description| -|---|---|---| -|`$fs`|*\Symfony\Component\Filesystem\Filesystem*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setFs(\Symfony\Component\Filesystem\Filesystem $fs): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:108` - -### setMethodsVisibility() - -Setter for `methodsVisibility` property - -|Param|Type|Description| -|---|---|---| -|`$methodsVisibility`|*int*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setMethodsVisibility(int $methodsVisibility): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:147` - -### setOutput() - -Setter for `output` property - -|Param|Type|Description| -|---|---|---| -|`$output`|*\Symfony\Component\Console\Output\OutputInterface*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setOutput(\Symfony\Component\Console\Output\OutputInterface $output): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:121` - -### setOutputDir() - -Setter for `outputDir` property - -|Param|Type|Description| -|---|---|---| -|`$outputDir`|*string*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setOutputDir(string $outputDir): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:74` - -### setPropertiesVisibility() - -Setter for `propertiesVisibility` property - -|Param|Type|Description| -|---|---|---| -|`$propertiesVisibility`|*int*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setPropertiesVisibility(int $propertiesVisibility): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:134` - -### setViewsDir() - -Setter for `viewsDir` property - -|Param|Type|Description| -|---|---|---| -|`$viewsDir`|*string*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setViewsDir(string $viewsDir): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:91` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Renderers/Markdown/MarkdownHelper.md b/docs/spaceonfire/SimplePhpApiDoc/Renderers/Markdown/MarkdownHelper.md deleted file mode 100644 index c7cfbfd..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Renderers/Markdown/MarkdownHelper.md +++ /dev/null @@ -1,105 +0,0 @@ -# Class MarkdownHelper - -- Full name: `\spaceonfire\SimplePhpApiDoc\Renderers\Markdown\MarkdownHelper` - -## Methods - -### code() - -```php -public static function MarkdownHelper::code(string $text): string -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:91` - -### header() - -```php -public static function MarkdownHelper::header(string $text, int $level = 1): string -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:23` - -### hr() - -```php -public static function MarkdownHelper::hr(): mixed -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:127` - -### indent() - -```php -public static function MarkdownHelper::indent(mixed $items, int $times = 1): mixed -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:63` - -### italic() - -```php -public static function MarkdownHelper::italic(string $text): string -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:13` - -### link() - -```php -public static function MarkdownHelper::link(string $text, string $url): string -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:28` - -### ol() - -```php -public static function MarkdownHelper::ol(array $items): array -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:48` - -### pre() - -```php -public static function MarkdownHelper::pre(string $text, string $lang = null): string -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:96` - -### strong() - -```php -public static function MarkdownHelper::strong(string $text): string -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:18` - -### table() - -```php -public static function MarkdownHelper::table(array $rows, bool $withHeader = true): array -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:105` - -### tableRow() - -```php -public static function MarkdownHelper::tableRow(array $row): string -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:120` - -### ul() - -```php -public static function MarkdownHelper::ul(array $items): array -``` - -File location: `src/Renderers/Markdown/MarkdownHelper.php:33` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Renderers/Markdown/MarkdownRenderer.md b/docs/spaceonfire/SimplePhpApiDoc/Renderers/Markdown/MarkdownRenderer.md deleted file mode 100644 index 254b2e3..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Renderers/Markdown/MarkdownRenderer.md +++ /dev/null @@ -1,329 +0,0 @@ -# Class MarkdownRenderer - -Class MarkdownRenderer - -Renders documentation for your code in markdown format - -- Full name: `\spaceonfire\SimplePhpApiDoc\Renderers\Markdown\MarkdownRenderer` -- Parent class: `\spaceonfire\SimplePhpApiDoc\Renderers\BaseRenderer` -- This class implements: `\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface` - -## Properties - -|Property|Type|Description|Default Value| -|---|---|---|---| -|`protected $context`|\spaceonfire\SimplePhpApiDoc\Context||| -|`protected $fs`|\Symfony\Component\Filesystem\Filesystem|Symfony Filesystem Component|| -|`protected $methodsVisibility`|int||| -|`protected $output`|\Symfony\Component\Console\Output\OutputInterface|Output interface of Symfony Console Component|| -|`protected $outputDir`|string||| -|`protected $propertiesVisibility`|int||| -|`protected $viewsDir`|string||| - -## Methods - -### __construct() - -MarkdownRenderer constructor. - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context|null*|| -|`$outputDir`|*string|null*|| - -```php -public function MarkdownRenderer::__construct(\spaceonfire\SimplePhpApiDoc\Context $context = null, string $outputDir = null): mixed -``` - -File location: `src/Renderers/Markdown/MarkdownRenderer.php:29` - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function BaseRenderer::getContext(): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Renderers/BaseRenderer.php:55` - -### getFileName() - -Generates file name with extension - -|Param|Type|Description| -|---|---|---| -|`$fqsen`|*\phpDocumentor\Reflection\Fqsen*|| -|**Return**|*string*|| - -```php -public function MarkdownRenderer::getFileName(\phpDocumentor\Reflection\Fqsen $fqsen): string -``` - -File location: `src/Renderers/Markdown/MarkdownRenderer.php:36` - -### getFs() - -Getter for `fs` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\Symfony\Component\Filesystem\Filesystem*|| - -```php -public function BaseRenderer::getFs(): \spaceonfire\SimplePhpApiDoc\Renderers\Symfony\Component\Filesystem\Filesystem -``` - -File location: `src/Renderers/BaseRenderer.php:102` - -### getMethodsVisibility() - -Getter for `methodsVisibility` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*int*|| - -```php -public function BaseRenderer::getMethodsVisibility(): int -``` - -File location: `src/Renderers/BaseRenderer.php:141` - -### getOutput() - -Getter for `output` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\Symfony\Component\Console\Output\OutputInterface*|| - -```php -public function BaseRenderer::getOutput(): \spaceonfire\SimplePhpApiDoc\Renderers\Symfony\Component\Console\Output\OutputInterface -``` - -File location: `src/Renderers/BaseRenderer.php:115` - -### getOutputDir() - -Getter for `outputDir` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*string*|| - -```php -public function BaseRenderer::getOutputDir(): string -``` - -File location: `src/Renderers/BaseRenderer.php:68` - -### getPropertiesVisibility() - -Getter for `propertiesVisibility` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*int*|| - -```php -public function BaseRenderer::getPropertiesVisibility(): int -``` - -File location: `src/Renderers/BaseRenderer.php:128` - -### getViewsDir() - -Getter for `viewsDir` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*string*|| - -```php -public function BaseRenderer::getViewsDir(): string -``` - -File location: `src/Renderers/BaseRenderer.php:85` - -### renderClasses() - -Render documentation content for class - -|Param|Type|Description| -|---|---|---| -|`$interface`|*\spaceonfire\SimplePhpApiDoc\Elements\ClassElement*|| -|**Return**|*string*|| - -```php -public function MarkdownRenderer::renderClasses(\spaceonfire\SimplePhpApiDoc\Elements\ClassElement $class): string -``` - -File location: `src/Renderers/Markdown/MarkdownRenderer.php:69` - -### renderInterfaces() - -Render documentation content for interface - -|Param|Type|Description| -|---|---|---| -|`$interface`|*\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement*|| -|**Return**|*string*|| - -```php -public function MarkdownRenderer::renderInterfaces(\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement $interface): string -``` - -File location: `src/Renderers/Markdown/MarkdownRenderer.php:60` - -### renderTableOfContents() - -Renders table of contents - -|Param|Type|Description| -|---|---|---| -|**Return**|*string*|| - -```php -public function MarkdownRenderer::renderTableOfContents(): string -``` - -File location: `src/Renderers/Markdown/MarkdownRenderer.php:88` - -### renderTraits() - -Render documentation content for class - -|Param|Type|Description| -|---|---|---| -|`$trait`|*\spaceonfire\SimplePhpApiDoc\Elements\TraitElement*|| -|**Return**|*string*|| - -```php -public function MarkdownRenderer::renderTraits(\spaceonfire\SimplePhpApiDoc\Elements\TraitElement $trait): string -``` - -File location: `src/Renderers/Markdown/MarkdownRenderer.php:78` - -### run() - -Render documentation - -```php -public function MarkdownRenderer::run(): void -``` - -File location: `src/Renderers/Markdown/MarkdownRenderer.php:45` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:61` - -### setFs() - -Setter for `fs` property - -|Param|Type|Description| -|---|---|---| -|`$fs`|*\Symfony\Component\Filesystem\Filesystem*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setFs(\Symfony\Component\Filesystem\Filesystem $fs): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:108` - -### setMethodsVisibility() - -Setter for `methodsVisibility` property - -|Param|Type|Description| -|---|---|---| -|`$methodsVisibility`|*int*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setMethodsVisibility(int $methodsVisibility): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:147` - -### setOutput() - -Setter for `output` property - -|Param|Type|Description| -|---|---|---| -|`$output`|*\Symfony\Component\Console\Output\OutputInterface*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setOutput(\Symfony\Component\Console\Output\OutputInterface $output): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:121` - -### setOutputDir() - -Setter for `outputDir` property - -|Param|Type|Description| -|---|---|---| -|`$outputDir`|*string*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setOutputDir(string $outputDir): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:74` - -### setPropertiesVisibility() - -Setter for `propertiesVisibility` property - -|Param|Type|Description| -|---|---|---| -|`$propertiesVisibility`|*int*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setPropertiesVisibility(int $propertiesVisibility): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:134` - -### setViewsDir() - -Setter for `viewsDir` property - -|Param|Type|Description| -|---|---|---| -|`$viewsDir`|*string*|| -|**Return**|*static*|| - -```php -public function BaseRenderer::setViewsDir(string $viewsDir): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/BaseRenderer.php:91` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/docs/spaceonfire/SimplePhpApiDoc/Renderers/RendererInterface.md b/docs/spaceonfire/SimplePhpApiDoc/Renderers/RendererInterface.md deleted file mode 100644 index 3062935..0000000 --- a/docs/spaceonfire/SimplePhpApiDoc/Renderers/RendererInterface.md +++ /dev/null @@ -1,282 +0,0 @@ -# Interface RendererInterface - -- Full name: `\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface` - -## Methods - -### getContext() - -Getter for `context` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\spaceonfire\SimplePhpApiDoc\Context*|| - -```php -public function RendererInterface::getContext(): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Context -``` - -File location: `src/Renderers/RendererInterface.php:55` - -### getFileName() - -Generates file name with extension - -|Param|Type|Description| -|---|---|---| -|`$fqsen`|*\phpDocumentor\Reflection\Fqsen*|| -|**Return**|*string*|| - -```php -public function RendererInterface::getFileName(\phpDocumentor\Reflection\Fqsen $fqsen): string -``` - -File location: `src/Renderers/RendererInterface.php:27` - -### getFs() - -Getter for `fs` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\Symfony\Component\Filesystem\Filesystem*|| - -```php -public function RendererInterface::getFs(): \spaceonfire\SimplePhpApiDoc\Renderers\Symfony\Component\Filesystem\Filesystem -``` - -File location: `src/Renderers/RendererInterface.php:94` - -### getMethodsVisibility() - -Getter for `methodsVisibility` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*int*|| - -```php -public function RendererInterface::getMethodsVisibility(): int -``` - -File location: `src/Renderers/RendererInterface.php:133` - -### getOutput() - -Getter for `output` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*\Symfony\Component\Console\Output\OutputInterface*|| - -```php -public function RendererInterface::getOutput(): \spaceonfire\SimplePhpApiDoc\Renderers\Symfony\Component\Console\Output\OutputInterface -``` - -File location: `src/Renderers/RendererInterface.php:107` - -### getOutputDir() - -Getter for `outputDir` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*string*|| - -```php -public function RendererInterface::getOutputDir(): string -``` - -File location: `src/Renderers/RendererInterface.php:68` - -### getPropertiesVisibility() - -Getter for `propertiesVisibility` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*int*|| - -```php -public function RendererInterface::getPropertiesVisibility(): int -``` - -File location: `src/Renderers/RendererInterface.php:120` - -### getViewsDir() - -Getter for `viewsDir` property - -|Param|Type|Description| -|---|---|---| -|**Return**|*string*|| - -```php -public function RendererInterface::getViewsDir(): string -``` - -File location: `src/Renderers/RendererInterface.php:81` - -### renderClasses() - -Render documentation content for class - -|Param|Type|Description| -|---|---|---| -|`$interface`|*\spaceonfire\SimplePhpApiDoc\Elements\ClassElement*|| -|**Return**|*string*|| - -```php -public function RendererInterface::renderClasses(\spaceonfire\SimplePhpApiDoc\Elements\ClassElement $interface): string -``` - -File location: `src/Renderers/RendererInterface.php:41` - -### renderInterfaces() - -Render documentation content for interface - -|Param|Type|Description| -|---|---|---| -|`$interface`|*\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement*|| -|**Return**|*string*|| - -```php -public function RendererInterface::renderInterfaces(\spaceonfire\SimplePhpApiDoc\Elements\InterfaceElement $interface): string -``` - -File location: `src/Renderers/RendererInterface.php:34` - -### renderTraits() - -Render documentation content for class - -|Param|Type|Description| -|---|---|---| -|`$trait`|*\spaceonfire\SimplePhpApiDoc\Elements\TraitElement*|| -|**Return**|*string*|| - -```php -public function RendererInterface::renderTraits(\spaceonfire\SimplePhpApiDoc\Elements\TraitElement $trait): string -``` - -File location: `src/Renderers/RendererInterface.php:48` - -### run() - -Render documentation - -```php -public function RendererInterface::run(): void -``` - -File location: `src/Renderers/RendererInterface.php:20` - -### setContext() - -Setter for `context` property - -|Param|Type|Description| -|---|---|---| -|`$context`|*\spaceonfire\SimplePhpApiDoc\Context*|| -|**Return**|*static*|| - -```php -public function RendererInterface::setContext(\spaceonfire\SimplePhpApiDoc\Context $context): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/RendererInterface.php:62` - -### setFs() - -Setter for `fs` property - -|Param|Type|Description| -|---|---|---| -|`$fs`|*\Symfony\Component\Filesystem\Filesystem*|| -|**Return**|*static*|| - -```php -public function RendererInterface::setFs(\Symfony\Component\Filesystem\Filesystem $fs): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/RendererInterface.php:101` - -### setMethodsVisibility() - -Setter for `methodsVisibility` property - -|Param|Type|Description| -|---|---|---| -|`$methodsVisibility`|*int*|| -|**Return**|*static*|| - -```php -public function RendererInterface::setMethodsVisibility(int $methodsVisibility): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/RendererInterface.php:140` - -### setOutput() - -Setter for `output` property - -|Param|Type|Description| -|---|---|---| -|`$output`|*\Symfony\Component\Console\Output\OutputInterface*|| -|**Return**|*static*|| - -```php -public function RendererInterface::setOutput(\Symfony\Component\Console\Output\OutputInterface $output): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/RendererInterface.php:114` - -### setOutputDir() - -Setter for `outputDir` property - -|Param|Type|Description| -|---|---|---| -|`$outputDir`|*string*|| -|**Return**|*static*|| - -```php -public function RendererInterface::setOutputDir(string $outputDir): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/RendererInterface.php:75` - -### setPropertiesVisibility() - -Setter for `propertiesVisibility` property - -|Param|Type|Description| -|---|---|---| -|`$propertiesVisibility`|*int*|| -|**Return**|*static*|| - -```php -public function RendererInterface::setPropertiesVisibility(int $propertiesVisibility): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/RendererInterface.php:127` - -### setViewsDir() - -Setter for `viewsDir` property - -|Param|Type|Description| -|---|---|---| -|`$viewsDir`|*string*|| -|**Return**|*static*|| - -```php -public function RendererInterface::setViewsDir(string $viewsDir): \spaceonfire\SimplePhpApiDoc\Renderers\spaceonfire\SimplePhpApiDoc\Renderers\RendererInterface -``` - -File location: `src/Renderers/RendererInterface.php:88` - ---- - -This file automatically generated by [Simple PHP ApiDoc](https://github.com/spaceonfire/simple-php-apidoc) \ No newline at end of file diff --git a/ecs.php b/ecs.php new file mode 100644 index 0000000..2874d81 --- /dev/null +++ b/ecs.php @@ -0,0 +1,60 @@ +parameters(); + + $parameters->set('sets', [ + SetList::ARRAY, + SetList::CLEAN_CODE, + SetList::STRICT, + SetList::PHP_70, + SetList::PHP_71, + SetList::PSR_12, + ]); + + $parameters->set('cache_directory', __DIR__ . '/._ecs_cache'); + + $parameters->set('paths', [ + __DIR__ . '/src', + ]); + + $parameters->set('skip', [ + 'Unused variable $_.' => null, + 'Unused parameter $_.' => null, + 'Unused parameter $input.' => [ + __DIR__ . '/src/Application/Console/GenerateCommand.php', + ], + 'Unused parameter $output.' => [ + __DIR__ . '/src/Application/Console/GenerateCommand.php', + ], + 'Unused parameter $reflection.' => [ + __DIR__ . '/src/Element/DocBlock/Resolver/AbstractDocBlockResolver.php', + ], + PhpCsFixer\Fixer\ClassNotation\ProtectedToPrivateFixer::class => [ + __DIR__ . '/src/Application/ApiDocKernel.php', + ], + ]); + + $services = $containerConfigurator->services(); + + $services->set(LineLengthFixer::class) + ->call('configure', [ + [ + LineLengthFixer::INLINE_SHORT_LINES => false, + ], + ]); + $services->set(UnusedInheritedVariablePassedToClosureSniff::class); + $services->set(UnusedParameterSniff::class); + $services->set(UnusedVariableSniff::class); + $services->set(YodaStyleFixer::class); +}; diff --git a/phpcs.xml.dist b/phpcs.xml.dist deleted file mode 100644 index 4371886..0000000 --- a/phpcs.xml.dist +++ /dev/null @@ -1,14 +0,0 @@ - - - The coding standard of simple-php-apidoc package - - - - - - - - - - - \ No newline at end of file diff --git a/phpstan.neon.dist b/phpstan.neon.dist new file mode 100755 index 0000000..1ec01d6 --- /dev/null +++ b/phpstan.neon.dist @@ -0,0 +1,38 @@ +# Start command: composer update --classmap-authoritative && vendor/bin/phpstan analyze + +includes: + - phar://phpstan.phar/conf/bleedingEdge.neon + - %rootDir%/../phpstan-webmozart-assert/extension.neon +parameters: + level: max + inferPrivatePropertyTypeFromConstructor: true + paths: + - src/ + bootstrapFiles: + - vendor/autoload.php + ignoreErrors: + - '/^Property spaceonfire\\ApiDoc\\Render\\Twig\\DumpExtension::\$dumper \(Symfony\\Component\\VarDumper\\Dumper\\AbstractDumper\) does not accept Symfony\\Component\\VarDumper\\Dumper\\DataDumperInterface\.$/' + + - + message: '/^Access to an undefined property spaceonfire\\ApiDoc\\Element\\FunctionElement\|spaceonfire\\ApiDoc\\Element\\MethodElement::\$static.$/' + path: 'src/Element/Factory/FunctionLikeElementFactory.php' + - + message: '/^Access to an undefined property spaceonfire\\ApiDoc\\Element\\FunctionElement\|spaceonfire\\ApiDoc\\Element\\MethodElement::\$abstract.$/' + path: 'src/Element/Factory/FunctionLikeElementFactory.php' + - + message: '/^Access to an undefined property spaceonfire\\ApiDoc\\Element\\FunctionElement\|spaceonfire\\ApiDoc\\Element\\MethodElement::\$final.$/' + path: 'src/Element/Factory/FunctionLikeElementFactory.php' + - + message: '/^Access to an undefined property spaceonfire\\ApiDoc\\Element\\FunctionElement\|spaceonfire\\ApiDoc\\Element\\MethodElement::\$visibility.$/' + path: 'src/Element/Factory/FunctionLikeElementFactory.php' + + # Generics errors + - '/^Generator expects value type spaceonfire\\ApiDoc\\Element\\FunctionElement, spaceonfire\\ApiDoc\\Element\\ElementInterface given\.$/' + - '/^Generator expects value type spaceonfire\\ApiDoc\\Element\\ConstantElement, spaceonfire\\ApiDoc\\Element\\ElementInterface given\.$/' + - '/^Property(.*)SplObjectStorage(.*)does not accept SplObjectStorage(.*)$/' + - '/^Cannot call method merge\(\) on(.*)spaceonfire\\Collection\\CollectionInterface(.*)$/' + - '/^Parameter #1 ...\$tags of method spaceonfire\\ApiDoc\\Element\\DocBlock\\Resolver\\DocBlockMerger::indexParamTags\(\) expects phpDocumentor\\Reflection\\DocBlock\\Tags\\Param, phpDocumentor\\Reflection\\DocBlock\\Tag given\.$/' + - '/^Parameter #1 ...\$tags of method spaceonfire\\ApiDoc\\Element\\DocBlock\\Resolver\\DocBlockMerger::indexMethodTags\(\) expects phpDocumentor\\Reflection\\DocBlock\\Tags\\Method, phpDocumentor\\Reflection\\DocBlock\\Tag given\.$/' + - '/^Parameter #1 ...\$tags of method spaceonfire\\ApiDoc\\Element\\DocBlock\\Resolver\\DocBlockMerger::indexPropertyTags\(\) expects phpDocumentor\\Reflection\\DocBlock\\Tags\\Property(.*), phpDocumentor\\Reflection\\DocBlock\\Tag given\.$/' + + - '/^Access to an undefined property spaceonfire\\ApiDoc\\Element\\ElementInterface::\$name\.$/' diff --git a/phpunit.xml.dist b/phpunit.xml.dist old mode 100644 new mode 100755 index 6d40357..eadce45 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,14 +1,16 @@ - + tests @@ -20,9 +22,9 @@ - - - - + + + + diff --git a/resources/languages/en.php b/resources/languages/en.php new file mode 100644 index 0000000..72c899c --- /dev/null +++ b/resources/languages/en.php @@ -0,0 +1,59 @@ + 'Class', + 'class' => 'class', + 'Full class name' => 'Full name', + 'Parent class name' => 'Parent class name', + 'This class implements' => 'This class implements', + 'This class uses' => 'This class uses', + 'Class members' => 'Class members', + 'Name' => 'Name', + 'Type' => 'Type', + 'Summary' => 'Summary', + 'Additional' => 'Additional', + 'Constants' => 'Constants', + 'Properties' => 'Properties', + 'Methods' => 'Methods', + 'constant' => 'constant', + 'Visibility' => 'Visibility', + 'Value' => 'Value', + 'property' => 'property', + 'Static' => 'Static', + 'Yes' => 'Yes', + 'No' => 'No', + 'Default value' => 'Default value', + 'none' => 'none', + 'method' => 'method', + 'Param' => 'Param', + 'Reference' => 'Reference', + 'Description' => 'Description', + 'Return' => 'Return', + 'Throws' => 'Throws', + 'This file automatically generated by' => 'This file automatically generated by', + 'File location' => 'File location', + 'Deprecated functionality' => 'Deprecated functionality', + '**Warning:** this %type% is *deprecated*.' => '**Warning:** this %type% is *deprecated*.', + 'This means it will likely be removed in a future major version.' => 'This means it will likely be removed in a future major version.', + 'Abstract method' => 'Abstract method', + 'Final method' => 'Final method', + 'Static element' => 'Static element', + 'Abstract element' => 'Abstract element', + 'Final element' => 'Final element', + 'Links' => 'Links', + 'Examples' => 'Examples', + 'functions' => 'functions', + 'constants' => 'constants', + 'Interface' => 'Interface', + 'interface' => 'interface', + 'This interface extends' => 'This interface extends', + 'API documentation' => 'API documentation', + 'Trait' => 'Trait', + 'trait' => 'trait', + 'This trait uses' => 'This trait uses', + 'Traits' => 'Traits', + 'Interfaces' => 'Interfaces', + 'Classes' => 'Classes', +]; diff --git a/resources/languages/ru.php b/resources/languages/ru.php new file mode 100644 index 0000000..ff4f0e5 --- /dev/null +++ b/resources/languages/ru.php @@ -0,0 +1,61 @@ + 'Класс', + 'class' => 'класс', + 'Full class name' => 'Полное имя класса', + 'Parent class name' => 'Имя родительского класса', + 'This class implements' => 'Данный класс реализует интерфейс(ы)', + 'This class uses' => 'Данный класс использует трейт(ы)', + 'Class members' => 'Члены класса', + 'Name' => 'Имя', + 'Type' => 'Тип', + 'Summary' => 'Резюме', + 'Additional' => 'Дополнительно', + 'Constants' => 'Константы', + 'Properties' => 'Свойства', + 'Magic properties' => 'Магические свойства', + 'Methods' => 'Методы', + 'Magic methods' => 'Магические методы', + 'constant' => 'константа', + 'Visibility' => 'Область видимости', + 'Value' => 'Значение', + 'property' => 'свойство', + 'Static' => 'Статический', + 'Yes' => 'Да', + 'No' => 'Нет', + 'Default value' => 'Значение по-умолчанию', + 'none' => 'отсутствует', + 'method' => 'метод', + 'Param' => 'Параметр', + 'Reference' => 'Передача по ссылке', + 'Description' => 'Описание', + 'Return' => 'Возвращаемое значение', + 'Throws' => 'Исключение', + 'This file automatically generated by' => 'Данный файл сгенерирован автоматически', + 'File location' => 'Расположение в файле', + 'Deprecated functionality' => 'Устаревшая функциональность', + '**Warning:** this %type% is *deprecated*.' => '**Внимание:** данный %type% помечен как *устаревший*.', + 'This means it will likely be removed in a future major version.' => 'Это значит, что он, вероятно, будет удален в будущей мажорной версии.', + 'Abstract method' => 'Абстрактный метод', + 'Final method' => 'Окончательный (final) метод', + 'Static element' => 'Статический элемент', + 'Abstract element' => 'Абстрактный элемент', + 'Final element' => 'Окончательный (final) элемент', + 'Links' => 'Ссылки', + 'Examples' => 'Примеры', + 'functions' => 'функции', + 'constants' => 'константы', + 'Interface' => 'Интерфейс', + 'interface' => 'интерфейс', + 'This interface extends' => 'Данный интерфейс расширяет', + 'API documentation' => 'документация API', + 'Trait' => 'Трейт', + 'trait' => 'трейт', + 'This trait uses' => 'Данный трейт использует другие трейт(ы)', + 'Traits' => 'Трейты', + 'Interfaces' => 'Интерфейсы', + 'Classes' => 'Классы', +]; diff --git a/resources/views/_class_macros.md.twig b/resources/views/_class_macros.md.twig new file mode 100644 index 0000000..deb5f46 --- /dev/null +++ b/resources/views/_class_macros.md.twig @@ -0,0 +1,136 @@ +{%- macro class_properties(class_like_element, property = 'properties', heading_level = 2, title = null) -%} + {%- from '_macros.md.twig' import anchor, deprecated, type, signatrure, examples_list, links_list, location -%} + {%- set properties = attribute(class_like_element, property) -%} + + {%- if properties|length > 0 %} + + + {{~ (title ?? 'Properties'|trans)|md_heading(heading_level) }} + {%- for property in properties %} + + + {{~ anchor(property.name) }} + {{~ property.name.withoutClassName|md_heading(heading_level + 1) }} + {{- deprecated(property.deprecated, 'property'|trans) }} + {%- if property.summary is not empty %} + + + {{~ property.summary }} + {%- endif %} + {%- if property.description is not empty %} + + + {{~ property.description }} + {%- endif %} + + + {{~ '- ' ~ 'Visibility'|trans|md_bold ~ ': ' ~ property.visibility }} + {{~ '- ' ~ 'Static'|trans|md_bold ~ ': ' ~ (property.static ? 'Yes'|trans : 'No'|trans) }} + {{~ '- ' ~ 'Type'|trans|md_bold ~ ': ' ~ type(property.type, 'mixed') }} + {{~ '- ' ~ 'Default value'|trans|md_bold ~ ': ' ~ (property.defaultValue ? property.defaultValue.value|export|md_oneline|md_code : 'none'|trans) }} + + {{- signatrure(property) }} + {{- examples_list(property.examples) }} + {{- links_list(property.links, class_like_element) }} + {{- location(property.location) }} + {%- endfor -%} + {%- endif -%} +{%- endmacro -%} + +{%- macro class_members_table(element) -%} + {%- import '_macros.md.twig' as macros %} + + + {{~ 'Class members'|trans|md_heading(2) }} + + {{~ ['Name'|trans, 'Type'|trans, 'Summary'|trans, 'Additional'|trans]|md_table_row }} + {{~ ['----', '----', '-------', '----------']|md_table_row }} + {%- if element.constants is defined and element.constants|length > 0 %} + + {{~ ['Constants'|trans|md_italic, '', '', '']|md_table_row }} + {%- for constant in element.constants %} + + {{~ [ + constant.name.withoutClassName|md_link('#' ~ anchor(constant.name)), + '', + constant.summary, + [ + macros.visibility_emoji(constant.visibility), + macros.deprecated_emoji(constant.deprecated), + ]|join(' '), + ]|md_table_row }} + {%- endfor -%} + {%- endif -%} + {%- if element.properties is defined and element.properties|length > 0 %} + + {{~ ['Properties'|trans|md_italic, '', '', '']|md_table_row }} + {%- for property in element.properties %} + + {{~ [ + property.name.withoutClassName|md_link('#' ~ anchor(property.name)), + macros.type(property.type, 'mixed'), + property.summary, + [ + macros.static_emoji(property.static), + macros.visibility_emoji(property.visibility), + macros.deprecated_emoji(property.deprecated), + ]|join(' '), + ]|md_table_row }} + {%- endfor -%} + {%- endif -%} + {%- if element.magicProperties is defined and element.magicProperties|length > 0 %} + + {{~ ['Magic properties'|trans|md_italic, '', '', '']|md_table_row }} + {%- for magicProperty in element.magicProperties %} + + {{~ [ + magicProperty.name.withoutClassName|md_link('#' ~ anchor(magicProperty.name)), + macros.type(magicProperty.type, 'mixed'), + magicProperty.summary, + [ + macros.static_emoji(magicProperty.static), + macros.visibility_emoji(magicProperty.visibility), + macros.deprecated_emoji(magicProperty.deprecated), + ]|join(' '), + ]|md_table_row }} + {%- endfor -%} + {%- endif -%} + {%- if element.methods is defined and element.methods|length > 0 %} + + {{~ ['Methods'|trans|md_italic, '', '', '']|md_table_row }} + {%- for method in element.methods %} + + {{~ [ + method.name.withoutClassName|md_link('#' ~ anchor(method.name)), + method.return ? macros.type(method.return.type, 'void') : '', + method.summary, + [ + macros.final_emoji(method.final), + macros.abstract_emoji(method.abstract), + macros.static_emoji(method.static), + macros.visibility_emoji(method.visibility), + macros.deprecated_emoji(method.deprecated), + ]|join(' '), + ]|md_table_row }} + {%- endfor -%} + {%- endif -%} + {%- if element.magicMethods is defined and element.magicMethods|length > 0 %} + + {{~ ['Magic methods'|trans|md_italic, '', '', '']|md_table_row }} + {%- for magicMethod in element.magicMethods %} + + {{~ [ + magicMethod.name.withoutClassName|md_link('#' ~ anchor(magicMethod.name)), + magicMethod.return ? macros.type(magicMethod.return.type, 'void') : '', + magicMethod.summary, + [ + macros.final_emoji(magicMethod.final), + macros.abstract_emoji(magicMethod.abstract), + macros.static_emoji(magicMethod.static), + macros.visibility_emoji(magicMethod.visibility), + macros.deprecated_emoji(magicMethod.deprecated), + ]|join(' '), + ]|md_table_row }} + {%- endfor -%} + {%- endif -%} +{%- endmacro -%} diff --git a/resources/views/_constant_macros.md.twig b/resources/views/_constant_macros.md.twig new file mode 100644 index 0000000..c017fde --- /dev/null +++ b/resources/views/_constant_macros.md.twig @@ -0,0 +1,41 @@ +{%- macro class_constants(class_like_element, property = 'constants', heading_level = 2, title = null) -%} + {%- set constants = attribute(class_like_element, property) -%} + + {%- if constants|length > 0 %} + + + {{~ (title ?? 'Constants'|trans)|md_heading(heading_level) }} + {%- for constant in constants %} + + + {{~ _self.constant(constant, class_like_element, heading_level + 1) }} + {%- endfor -%} + {%- endif -%} +{%- endmacro -%} + +{%- macro constant(constant, current_fqsen, heading_level) -%} + {%- from '_macros.md.twig' import anchor, deprecated, examples_list, links_list, location -%} + {{~ anchor(constant.name) }} + {{~ (constant.name.prefixedWithClassName ? constant.name.withoutClassName : constant.name)|md_heading(heading_level) }} + {{- deprecated(constant.deprecated, 'constant'|trans) }} + {%- if constant.summary is not empty %} + + + {{~ constant.summary }} + {%- endif %} + {%- if constant.description is not empty %} + + + {{~ constant.description }} + {%- endif %} + + + {%~ if constant.visibility is not empty %} + {{~ '- ' ~ 'Visibility'|trans|md_bold ~ ': ' ~ constant.visibility }} + {%- endif %} + + {{~ '- ' ~ 'Value'|trans|md_bold ~ ': ' ~ constant.value.value|export|md_oneline|md_code }} + {{- examples_list(constant.examples) }} + {{- links_list(constant.links, current_fqsen) }} + {{- location(constant.location) }} +{%- endmacro -%} diff --git a/resources/views/_function_macros.md.twig b/resources/views/_function_macros.md.twig new file mode 100644 index 0000000..000638c --- /dev/null +++ b/resources/views/_function_macros.md.twig @@ -0,0 +1,98 @@ +{%- macro class_methods(class_like_element, property = 'methods', heading_level = 2, title = null) -%} + {%- set methods = attribute(class_like_element, property) -%} + + {%- if methods|length > 0 %} + + + {{~ (title ?? 'Methods'|trans)|md_heading(heading_level) }} + {%- for method in methods %} + + + {{~ _self.function(method, class_like_element, heading_level + 1, 'method') }} + {%- endfor -%} + {%- endif -%} +{%- endmacro -%} + +{%- macro function(function, current_fqsen, heading_level, deprecated_type = 'function') -%} + {%- from '_macros.md.twig' import anchor, deprecated, type, signatrure, examples_list, links_list, location -%} + {{~ anchor(function.name) }} + {{~ ((function.name.prefixedWithClassName ? function.name.withoutClassName : function.name) ~ '()')|md_heading(heading_level) }} + {{- deprecated(function.deprecated, deprecated_type|trans) }} + {%- if function.summary is not empty %} + + + {{~ function.summary }} + {%- endif %} + {%- if function.description is not empty %} + + + {{~ function.description }} + {%- endif %} + {{~ '' }} + + {%- if function.abstract is defined or function.final is defined or function.visibility is defined or function.static is defined %} + {{~ '' }} + {{~ '' }} + + {%- if function.abstract %} + + {{~ '- ' ~ 'Abstract method'|trans|md_bold ~ ': ' ~ 'Yes'|trans }} + {%- endif -%} + {%- if function.final %} + + {{~ '- ' ~ 'Final method'|trans|md_bold ~ ': ' ~ 'Yes'|trans }} + {%- endif -%} + {%- if function.visibility %} + + {{~ '- ' ~ 'Visibility'|trans|md_bold ~ ': ' ~ function.visibility }} + {%- endif -%} + {%- if function.static %} + + {{~ '- ' ~ 'Static'|trans|md_bold ~ ': ' ~ (function.static ? 'Yes'|trans : 'No'|trans) }} + {%- endif -%} + {%- endif -%} + + {{- _self.function_params_table(function) }} + {{- signatrure(function) }} + {{- examples_list(function.examples) }} + {{- links_list(function.links, current_fqsen) }} + {{- location(function.location) }} +{%- endmacro -%} + +{%- macro function_params_table(function) -%} + {%- from '_macros.md.twig' import type -%} + + {%- if function.parameters|length > 0 or function.return is not empty or function.throws|length > 0 %} + + + {{~ ['Param'|trans, 'Type'|trans, 'Reference'|trans, 'Description'|trans]|md_table_row }} + {{~ ['-----', '----', '---------', '-----------']|md_table_row }} + {%- for paramater in function.parameters %} + + {{~ [ + ((paramater.variadic ? '...' : '') ~ '$' ~ paramater.name)|md_code, + paramater.type ? type(paramater.type) : '', + paramater.passedByReference ? 'Yes'|trans : 'No'|trans, + paramater.description is not empty ? paramater.description : '', + ]|md_table_row -}} + {%- endfor -%} + {%- if function.return is not same as(null) %} + + {{~ [ + 'Return'|trans|md_bold, + type(function.return.type, 'void'), + '', + function.return.description is not empty ? function.return.description : '', + ]|md_table_row -}} + {%- endif -%} + {%- for throw in function.throws %} + + {{~ [ + 'Throws'|trans|md_bold, + throw.type ? type(throw.type) : '', + '', + throw.description is not empty ? throw.description : '', + ]|md_table_row -}} + {%- endfor -%} + {%- endif -%} +{%- endmacro -%} diff --git a/resources/views/_macros.md.twig b/resources/views/_macros.md.twig new file mode 100644 index 0000000..a619faf --- /dev/null +++ b/resources/views/_macros.md.twig @@ -0,0 +1,101 @@ +{%- macro location(location) -%} + {%- if location is not same as(null) %} + + + {{~ 'File location'|trans ~ ': ' ~ (location.filename ~ ':' ~ location.lineNumber)|md_code }} + {%- endif -%} +{%- endmacro -%} + +{%- macro deprecated(reason, type) -%} + {%- if reason is not same as(false) %} + + + {{~ '**Warning:** this %type% is *deprecated*.'|trans({'%type%' : type}) }} {{ + reason is same as(true) + ? 'This means it will likely be removed in a future major version.'|trans + : reason + }} + {%- endif -%} +{%- endmacro -%} + +{%- macro anchor(name) -%} + {{~ '' }} +{%- endmacro -%} + +{%- macro type(type, default = null) -%} + {{~ type or default ? (type ?? default)|md_italic : '' }} +{%- endmacro -%} + +{%- macro visibility_emoji(visibility, anchor = '') -%} + {%- if visibility == 'private' -%} + {{~ '🔒'|md_link('#' ~ anchor, 'Visibility'|trans ~ ': ' ~ 'private') }} + {%- elseif visibility == 'protected' -%} + {{~ '🛡'|md_link('#' ~ anchor, 'Visibility'|trans ~ ': ' ~ 'protected') }} + {%- else -%} + {{~ '📢'|md_link('#' ~ anchor, 'Visibility'|trans ~ ': ' ~ 'public') }} + {%- endif -%} +{%- endmacro -%} + +{%- macro deprecated_emoji(reason, anchor = '') -%} + {% if reason is not same as(false) -%} + {{~ '⚠'|md_link('#' ~ anchor, 'Deprecated functionality'|trans) }} + {%- endif -%} +{%- endmacro -%} + +{%- macro static_emoji(show, anchor = '') -%} + {% if show -%} + {{~ '🇸'|md_link('#' ~ anchor, 'Static element'|trans) }} + {%- endif -%} +{%- endmacro -%} + +{%- macro abstract_emoji(show, anchor = '') -%} + {% if show -%} + {{~ '🇦'|md_link('#' ~ anchor, 'Abstract element'|trans) }} + {%- endif -%} +{%- endmacro -%} + +{%- macro final_emoji(show, anchor = '') -%} + {% if show -%} + {{~ '📌'|md_link('#' ~ anchor, 'Final element'|trans) }} + {%- endif -%} +{%- endmacro -%} + +{%- macro signatrure(element) -%} + {%- set signature = signature(element) -%} + {%- if signature is not same as(null) %} + + + {{~ signature|md_pre(signature.language ?? '') }} + {%- endif -%} +{%- endmacro -%} + +{%- macro links_list(links, from = null) -%} + {%- if links|length > 0 %} + + + {{~ 'Links'|trans|md_bold ~ ':' }} + {%~ for link in links %} + + {{~ '- ' ~ link.text|md_link(resolve_link(link, from)) ~ (link.description ? ': ' ~ link.description : '') }} + {%- endfor -%} + {%- endif -%} +{%- endmacro -%} + +{%- macro examples_list(examples) -%} + {%- if examples|length > 0 %} + + + {{~ 'Examples'|trans|md_bold ~ ':' }} + {%- for example in examples %} + {%- set snippet = example_code_snippet(example) %} + + + {{~ '- ' ~ (example.uri ? example.uri|md_link(example.uri) : example.filePath|md_code) ~ (example.description ? ': ' ~ example.description : '') }} + {%- if snippet is not empty %} + + + {{~ snippet|md_pre(snippet.language ?? '') }} + {%- endif -%} + {%- endfor -%} + {%- endif -%} +{%- endmacro -%} diff --git a/resources/views/class.md.twig b/resources/views/class.md.twig new file mode 100644 index 0000000..1120dac --- /dev/null +++ b/resources/views/class.md.twig @@ -0,0 +1,57 @@ +{%- extends 'class_like_element.md.twig' -%} + +{%- import '_macros.md.twig' as macros -%} + +{% block element_header %} +{{- ('Class'|trans ~ ' ' ~ element.name.shortName)|md_heading }} +{{- macros.deprecated(element.deprecated, 'class'|trans) }} +{%- if element.summary is not empty %} + + + {{~ element.summary }} +{%- endif %} +{%- if element.description is not empty %} + + + {{~ element.description }} +{%- endif %} + + +{{~ 'Full class name'|trans ~ ': ' ~ element.name|md_code }} +{%- if element.parent is not same as(null) %} + + + {{~ 'Parent class name'|trans ~ ': ' ~ element.parent.name|md_code }} +{%- endif %} +{%- if element.interfaces|length > 0 %} + {%- if element.interfaces|length > 1 %} + + + {{~ 'This class implements'|trans ~ ':' }} + {%~ for interface in element.interfaces %} + + {{~ '- ' ~ interface.name|md_code }} + {%- endfor -%} + {%- else %} + + + {{~ 'This class implements'|trans ~ ': ' ~ (element.interfaces|first).name|md_code }} + {%- endif -%} +{%- endif %} +{%- if element.traits|length > 0 %} + {%- if element.traits|length > 1 %} + + + {{~ 'This class uses'|trans ~ ':' }} + {%~ for trait in element.traits %} + + {{~ '- ' ~ trait.name|md_code }} + {%- endfor -%} + {%- else %} + + + {{~ 'This class uses'|trans ~ ': ' ~ (element.traits|first).name|md_code }} + {%- endif -%} +{%- endif %} +{{- macros.examples_list(element.examples) -}} +{% endblock %} diff --git a/resources/views/class_like_element.md.twig b/resources/views/class_like_element.md.twig new file mode 100644 index 0000000..e3da4b9 --- /dev/null +++ b/resources/views/class_like_element.md.twig @@ -0,0 +1,16 @@ +{%- extends 'layout.md.twig' -%} + +{%- import '_macros.md.twig' as macros -%} +{%- from '_class_macros.md.twig' import class_members_table, class_properties -%} +{%- from '_constant_macros.md.twig' import class_constants -%} +{%- from '_function_macros.md.twig' import class_methods -%} + +{% block main %} +{%- block element_header '' -%} +{{- class_members_table(element) }} +{{- class_constants(element) }} +{{- class_properties(element) }} +{{- class_properties(element, 'magicProperties', 2, 'Magic properties'|trans) }} +{{- class_methods(element) }} +{{- class_methods(element, 'magicMethods', 2, 'Magic methods'|trans) }} +{% endblock %} diff --git a/resources/views/constants.md.twig b/resources/views/constants.md.twig new file mode 100644 index 0000000..95fe1de --- /dev/null +++ b/resources/views/constants.md.twig @@ -0,0 +1,13 @@ +{%- extends 'layout.md.twig' -%} + +{%- from '_constant_macros.md.twig' import constant -%} + +{% block main %} +{{- (project_name ~ ' ' ~ 'constants'|trans)|md_heading }} +{%- for constant in element %} + + + {{~ constant(constant, current_fqsen, 2) }} +{%- endfor %} + +{% endblock %} diff --git a/resources/views/functions.md.twig b/resources/views/functions.md.twig new file mode 100644 index 0000000..2ffd9d0 --- /dev/null +++ b/resources/views/functions.md.twig @@ -0,0 +1,13 @@ +{%- extends 'layout.md.twig' -%} + +{%- from '_function_macros.md.twig' import function -%} + +{% block main %} +{{- (project_name ~ ' ' ~ 'functions'|trans)|md_heading }} +{%- for function in element %} + + + {{~ function(function, current_fqsen, 2) }} +{%- endfor %} + +{% endblock %} diff --git a/resources/views/interface.md.twig b/resources/views/interface.md.twig new file mode 100644 index 0000000..7cf7969 --- /dev/null +++ b/resources/views/interface.md.twig @@ -0,0 +1,37 @@ +{%- extends 'class_like_element.md.twig' -%} + +{%- import '_macros.md.twig' as macros -%} + +{% block element_header %} +{{- ('Interface'|trans ~ ' ' ~ element.name.shortName)|md_heading }} +{{- macros.deprecated(element.deprecated, 'interface'|trans) }} +{%- if element.summary is not empty %} + + + {{~ element.summary }} +{%- endif %} +{%- if element.description is not empty %} + + + {{~ element.description }} +{%- endif %} + + +{{~ 'Full class name'|trans ~ ': ' ~ element.name|md_code }} +{%- if element.parents|length > 0 %} + {%- if element.parents|length > 1 %} + + + {{~ 'This interface extends'|trans ~ ':' }} + {%~ for parent in element.parents %} + + {{~ '- ' ~ parent.name|md_code }} + {%- endfor -%} + {%- else %} + + + {{~ 'This interface extends'|trans ~ ': ' ~ (element.parents|first).name|md_code }} + {%- endif -%} +{%- endif %} +{{- macros.examples_list(element.examples) -}} +{% endblock %} diff --git a/resources/views/layout.md.twig b/resources/views/layout.md.twig new file mode 100644 index 0000000..6f8e933 --- /dev/null +++ b/resources/views/layout.md.twig @@ -0,0 +1,5 @@ +{% block main '' %} + +--- + +{{ 'This file automatically generated by'|trans ~ ' ' ~ 'SpaceOnFire ApiDoc'|md_link('https://github.com/spaceonfire/apidoc') }} diff --git a/resources/views/toc.md.twig b/resources/views/toc.md.twig new file mode 100644 index 0000000..a4b1a4c --- /dev/null +++ b/resources/views/toc.md.twig @@ -0,0 +1,21 @@ +{%- extends 'layout.md.twig' -%} + +{%- import '_macros.md.twig' as macros -%} + +{% block main %} +{{- (project_name ~ ' ' ~ 'API documentation'|trans)|md_heading }} +{{~ '' }} +{%- for namespace, groups in element %} + + {{~ '- ' ~ namespace }} + {%- for type, links in groups %} + + {{~ ('- ' ~ type|trans)|md_indent(4) }} + {%- for link in links %} + + {{~ ('- ' ~ link.text|md_link(resolve_link(link, current_fqsen)))|md_indent(8) }} + {%- endfor -%} + {%- endfor -%} +{%- endfor -%} +{{~ '' }} +{% endblock %} diff --git a/resources/views/trait.md.twig b/resources/views/trait.md.twig new file mode 100644 index 0000000..b1a661d --- /dev/null +++ b/resources/views/trait.md.twig @@ -0,0 +1,37 @@ +{%- extends 'class_like_element.md.twig' -%} + +{%- import '_macros.md.twig' as macros -%} + +{% block element_header %} +{{- ('Trait'|trans ~ ' ' ~ element.name.shortName)|md_heading }} +{{- macros.deprecated(element.deprecated, 'trait'|trans) }} +{%- if element.summary is not empty %} + + + {{~ element.summary }} +{%- endif %} +{%- if element.description is not empty %} + + + {{~ element.description }} +{%- endif %} + + +{{~ 'Full class name'|trans ~ ': ' ~ element.name|md_code }} +{%- if element.parents|length > 0 %} + {%- if element.parents|length > 1 %} + + + {{~ 'This trait uses'|trans ~ ':' }} + {%~ for parent in element.parents %} + + {{~ '- ' ~ parent.name|md_code }} + {%- endfor -%} + {%- else %} + + + {{~ 'This trait uses'|trans ~ ': ' ~ (element.parents|first).name|md_code }} + {%- endif -%} +{%- endif %} +{{- macros.examples_list(element.examples) -}} +{% endblock %} diff --git a/scoper.inc.php b/scoper.inc.php new file mode 100644 index 0000000..ec9ae88 --- /dev/null +++ b/scoper.inc.php @@ -0,0 +1,58 @@ +append( + Finder::create() + ->files() + ->in(__DIR__ . '/vendor/symfony/polyfill-*') + ->name('bootstrap.php') +); + +// Exclude PhpStorm Stub files from prefixing +$whitelistFiles->append( + Finder::create() + ->files() + ->in(__DIR__ . '/vendor/jetbrains/phpstorm-stubs/') + ->name('*.php') +); + +return [ + 'whitelist' => [ + 'spaceonfire\\ApiDoc\\*', + 'Symfony\\Polyfill\\*', + 'JetBrains\\PHPStormStub\\*', + 'Twig\\*', + ], + 'files-whitelist' => array_map( + static function ($file) { + return $file->getPathName(); + }, + iterator_to_array($whitelistFiles) + ), + 'patchers' => [ + function (string $filePath, string $prefix, string $content): string { + $files = [ + 'src/Config/Processor/ComposerJsonProcessor.php', + 'src/Config/Config.php', + 'vendor/laminas/laminas-zendframework-bridge/src/Autoloader.php', + 'vendor/roave/better-reflection/src/SourceLocator/Type/ComposerSourceLocator.php', + ]; + + if (!in_array($filePath, $files, true)) { + return $content; + } + + return str_replace( + $prefix . '\\Composer\\Autoload\\ClassLoader', + 'Composer\\Autoload\\ClassLoader', + $content + ); + }, + ], +]; diff --git a/src/Application/ApiDocKernel.php b/src/Application/ApiDocKernel.php new file mode 100644 index 0000000..61fed1d --- /dev/null +++ b/src/Application/ApiDocKernel.php @@ -0,0 +1,128 @@ +debugModeEnabled = $debugModeEnabled; + + $this->container = new CompositeContainer([ + 50 => new Container(), + 100 => new ReflectionContainer(), + ]); + + $this->container->add(PsrContainerInterface::class, ContainerInterface::class); + $this->container->add(ContainerInterface::class, [$this, 'getContainer']); + + $this->container->share(self::class, $this); + $this->container->add('kernel.debug', [$this, 'isDebugModeEnabled']); + + foreach ($this->loadServiceProviders() as $serviceProvider) { + $this->container->addServiceProvider($serviceProvider); + } + } + + /** + * @return string[]|ServiceProviderInterface[] + */ + protected function loadServiceProviders(): iterable + { + yield ServiceProviders\ConsoleCommandsProvider::class; + yield ServiceProviders\ConfigProvider::class; + yield ServiceProviders\DocBlockResolverProvider::class; + yield ServiceProviders\TypeFactoryProvider::class; + yield ServiceProviders\ElementFactoryProvider::class; + yield ServiceProviders\LinkServiceProvider::class; + yield ServiceProviders\SignatureRendererProvider::class; + yield ServiceProviders\TranslatorProvider::class; + yield ServiceProviders\DefaultRendererProvider::class; + yield ServiceProviders\DefaultApiDocGeneratorProvider::class; + yield ServiceProviders\FallbackBetterReflectionProvider::class; + } + + /** + * Returns the container + * @return CompositeContainer + */ + public function getContainer(): CompositeContainer + { + return $this->container; + } + + /** + * Running debug mode? + * @return bool + */ + public function isDebugModeEnabled(): bool + { + return $this->debugModeEnabled; + } + + /** + * Configure symfony/console application + * @param ConsoleApplication $app + * @param ConsoleInput\InputInterface $input + * @param ConsoleOutput\OutputInterface $output + */ + public function configureConsoleApplication( + ConsoleApplication $app, + ConsoleInput\InputInterface $input, + ConsoleOutput\OutputInterface $output + ): void { + if (\PHP_SAPI !== 'cli') { + // TODO: trigger error + return; + } + + // Register console I/O first, which can be used as dependencies of some command (logger for example) + $this->container->share(ConsoleInput\InputInterface::class, $input); + $this->container->share(ConsoleOutput\OutputInterface::class, $output); + + $this->determineDebugModeFromConsoleInput($input); + + $commands = $this->container->getTagged(DefinitionTag::CONSOLE_COMMAND); + + foreach ($commands as $command) { + $app->add($command); + } + } + + private function determineDebugModeFromConsoleInput(ConsoleInput\InputInterface $input): void + { + // Debug option defined and bool(true) value + if ($input->hasParameterOption('--debug', true)) { + $this->debugModeEnabled = true; + return; + } + + // Verbosity level set to 3+ + if ($input->hasParameterOption('-vvv', true)) { + $this->debugModeEnabled = true; + return; + } + } +} diff --git a/src/Application/Console/GenerateCommand.php b/src/Application/Console/GenerateCommand.php new file mode 100644 index 0000000..66721ee --- /dev/null +++ b/src/Application/Console/GenerateCommand.php @@ -0,0 +1,65 @@ +kernel = $kernel; + + parent::__construct($name); + } + + /** + * @inheritDoc + */ + protected function configure(): void + { + ConsoleInputProcessor::configureCommand($this); + } + + protected function execute(InputInterface $input, OutputInterface $output): int + { + $config = $this->kernel->getContainer()->get(Config::class); + + $projectFactory = $this->kernel->getContainer()->get(ProjectFactory::class); + $project = $projectFactory->make($config); + + $generator = $this->kernel->getContainer()->get(GeneratorInterface::class); + $persister = $this->kernel->getContainer()->get(PersisterInterface::class); + + $files = $generator->generate($project); + + // Do not write to filesystem before all files generated + if ($files instanceof Traversable) { + $files = iterator_to_array($files); + } + + foreach ($files as $file) { + $persister->persist($file); + } + + return 0; + } +} diff --git a/src/Application/ServiceProviders/ConfigProvider.php b/src/Application/ServiceProviders/ConfigProvider.php new file mode 100644 index 0000000..e101e2b --- /dev/null +++ b/src/Application/ServiceProviders/ConfigProvider.php @@ -0,0 +1,289 @@ +getContainer()->share(Config::class, [$this, 'makeConfig']); + + $this->getContainer()->add(FileNameStrategyInterface::class, FileNameStrategy::class); + $this->getContainer()->add(PersisterInterface::class, LocalFilesystemPersister::class); + + $this->getContainer()->share(PhpParser::class, [$this, 'makePhpParser']); + $this->getContainer()->share(BetterReflection::class, [$this, 'makeBetterReflection']); + $this->getContainer()->share(SourceLocator::class, [$this, 'makeSourceLocator']); + $this->getContainer()->share(ClassReflector::class, [$this, 'makeClassReflector']); + $this->getContainer()->share(FunctionReflector::class, [$this, 'makeFunctionReflector']); + $this->getContainer()->share(ConstantReflector::class, [$this, 'makeConstantReflector']); + $this->getContainer()->share(FileNameStrategy::class, [$this, 'makeFilenameStrategy']); + $this->getContainer()->share(LocalFilesystemPersister::class, [$this, 'makePersister']); + $this->getContainer()->share(TwigEnvironment::class, [$this, 'makeTwig']); + $this->getContainer()->share(ExampleCodeSnippetResolver::class, [$this, 'makeExampleCodeSnippetResolver']); + $this->getContainer()->share(LocationFactory::class, [$this, 'makeLocationFactory']); + $this->getContainer()->share(ClassMembersVisibilityFilter::class, [$this, 'makeClassMembersVisibilityFilter']); + } + + public function makeConfig(): Config + { + $config = new Config(); + + foreach ($this->makeConfigProcessors() as $processor) { + $processor->process($config); + } + + // TODO: validate config + + return $config; + } + + /** + * @return \Generator|ProcessorInterface[] + */ + private function makeConfigProcessors(): \Generator + { + yield new DefaultsProcessor($this->getContainer()->get('kernel.debug')); + + $input = $this->getContainer()->has(InputInterface::class) + ? $this->getContainer()->get(InputInterface::class) + : null; + + if (null !== $composerJsonFile = $this->findComposerJsonFile()) { + yield new ComposerJsonProcessor($composerJsonFile); + } + + if (null !== $configFile = $this->findConfigFile($input)) { + yield new ConfigFileProcessor($configFile); + } + + if (null !== $input) { + yield new ConsoleInputProcessor($input); + } + } + + private function findConfigFile(?InputInterface $input): ?string + { + /** @var string|null $configFile */ + $configFile = $input && $input->hasOption('config') + ? $input->getOption('config') + : null; + + $configFile = realpath($configFile ?? ConfigFileProcessor::DEFAULT_CONFIG_FILENAME); + + return $configFile ?: null; + } + + private function findComposerJsonFile(): ?string + { + $composerJson = realpath(getcwd() . DIRECTORY_SEPARATOR . 'composer.json'); + + if (false !== $composerJson) { + return $composerJson; + } + + return null; + } + + public function makePhpParser(Config $config): PhpParser + { + return new MemoizingParser( + (new ParserFactory())->create(ParserFactory::PREFER_PHP7, new Emulative([ + 'phpVersion' => $config->phpVersion, + 'usedAttributes' => ['comments', 'startLine', 'endLine', 'startFilePos', 'endFilePos'], + ])) + ); + } + + public function makeBetterReflection(PhpParser $phpParser): BetterReflection + { + $betterReflection = new BetterReflection(); + + (function ($betterReflection) use ($phpParser): void { + $betterReflection->phpParser = $phpParser; + })->bindTo($betterReflection, BetterReflection::class)($betterReflection); + + return $betterReflection; + } + + public function makeSourceLocator(Config $config, BetterReflection $betterReflection): SourceLocator + { + $astLocator = $betterReflection->astLocator(); + $sourceStubber = $betterReflection->sourceStubber(); + + $locators = []; + $locators[] = new PhpInternalSourceLocator($astLocator, $sourceStubber); + + if (null !== $config->composerClassLoader) { + $locators[] = new ComposerSourceLocator($config->composerClassLoader, $astLocator); + } + + $locators[] = new AutoloadSourceLocator($astLocator, $betterReflection->phpParser()); + + // TODO: directories source locator is slow. We need to try to speedup or cache it. + $locators[] = new DirectoriesSourceLocator( + array_unique(array_merge($config->sourceDirectories, $config->scanDirectories)), + $astLocator + ); + + if (count($config->scanFiles) > 0) { + foreach ($config->scanFiles as $file) { + $locators[] = new SingleFileSourceLocator($file, $astLocator); + } + } + + return new MemoizingSourceLocator(new AggregateSourceLocator($locators)); + } + + public function makeClassReflector(SourceLocator $sourceLocator): ClassReflector + { + return new ClassReflector($sourceLocator); + } + + public function makeFunctionReflector( + SourceLocator $sourceLocator, + ClassReflector $classReflector + ): FunctionReflector { + return new FunctionReflector($sourceLocator, $classReflector); + } + + public function makeConstantReflector( + SourceLocator $sourceLocator, + ClassReflector $classReflector + ): ConstantReflector { + return new ConstantReflector($sourceLocator, $classReflector); + } + + public function makeFilenameStrategy(Config $config): FileNameStrategyInterface + { + return new FileNameStrategy($config->baseNamespace, $config->fileExtension); + } + + public function makePersister(Config $config): PersisterInterface + { + return new LocalFilesystemPersister($config->outputDirectory); + } + + public function makeTwig(Config $config): TwigEnvironment + { + $twig = new Environment(new FilesystemLoader($config->twigTemplatesPath), $config->twigOptions); + + $twig->addGlobal('project_name', $config->projectName); + + $twig->addExtension(new DumpExtension()); + $twig->addExtension(new MarkdownExtension()); + $twig->addExtension($this->getContainer()->make(LinkExtension::class)); + $twig->addExtension($this->getContainer()->make(TranslationExtension::class)); + $twig->addExtension($this->getContainer()->make(SignatureExtension::class)); + $twig->addExtension($this->getContainer()->make(ExampleRendererExtension::class)); + + return $twig; + } + + public function makeExampleCodeSnippetResolver(Config $config): ExampleCodeSnippetResolver + { + return new ExampleCodeSnippetResolver($config->examplesDirectories); + } + + public function makeLocationFactory(Config $config): LocationFactory + { + return new LocationFactory($config->sourceDirectories); + } + + public function makeClassMembersVisibilityFilter(Config $config): ClassMembersVisibilityFilter + { + $visibilityFactory = static function ($v) { + return new Visibility($v); + }; + + $defaultVisibilityFilter = new VisibilityFilter(...array_map($visibilityFactory, $config->visibility)); + $constantsVisibilityFilter = count($config->constantsVisibility) > 0 + ? new VisibilityFilter(...array_map($visibilityFactory, $config->constantsVisibility)) + : null; + $propertiesVisibilityFilter = count($config->propertiesVisibility) > 0 + ? new VisibilityFilter(...array_map($visibilityFactory, $config->propertiesVisibility)) + : null; + $methodsVisibilityFilter = count($config->methodsVisibility) > 0 + ? new VisibilityFilter(...array_map($visibilityFactory, $config->methodsVisibility)) + : null; + + return new ClassMembersVisibilityFilter( + $defaultVisibilityFilter, + $constantsVisibilityFilter, + $propertiesVisibilityFilter, + $methodsVisibilityFilter + ); + } +} diff --git a/src/Application/ServiceProviders/ConsoleCommandsProvider.php b/src/Application/ServiceProviders/ConsoleCommandsProvider.php new file mode 100644 index 0000000..c9a0de4 --- /dev/null +++ b/src/Application/ServiceProviders/ConsoleCommandsProvider.php @@ -0,0 +1,37 @@ +getContainer()->share($command)->addTag(DefinitionTag::CONSOLE_COMMAND); + } + } +} diff --git a/src/Application/ServiceProviders/DefaultApiDocGeneratorProvider.php b/src/Application/ServiceProviders/DefaultApiDocGeneratorProvider.php new file mode 100644 index 0000000..2b5b9d5 --- /dev/null +++ b/src/Application/ServiceProviders/DefaultApiDocGeneratorProvider.php @@ -0,0 +1,44 @@ +getContainer()->add(GeneratorInterface::class, ApiDocGenerator::class); + + if (!$this->getContainer()->has(PersisterInterface::class)) { + $this->getContainer()->add(PersisterInterface::class, LocalFilesystemPersister::class); + } + + if (!$this->getContainer()->has(FileNameStrategyInterface::class)) { + $this->getContainer()->add(FileNameStrategyInterface::class, FileNameStrategy::class); + } + } +} diff --git a/src/Application/ServiceProviders/DefaultRendererProvider.php b/src/Application/ServiceProviders/DefaultRendererProvider.php new file mode 100644 index 0000000..31ea992 --- /dev/null +++ b/src/Application/ServiceProviders/DefaultRendererProvider.php @@ -0,0 +1,50 @@ +getContainer()->add(RendererInterface::class, TwigRenderer::class); + + $this->getContainer()->add(TwigRenderer::class, function (Environment $twig) { + // TODO: configure template name strategy + return new TwigRenderer($twig, new StaticListTemplateNameStrategy([ + ClassElement::class => 'class.md.twig', + InterfaceElement::class => 'interface.md.twig', + TraitElement::class => 'trait.md.twig', + FunctionsAggregate::class => 'functions.md.twig', + ConstantsAggregate::class => 'constants.md.twig', + TableOfContentsElement::class => 'toc.md.twig', + ])); + }); + } +} diff --git a/src/Application/ServiceProviders/DocBlockResolverProvider.php b/src/Application/ServiceProviders/DocBlockResolverProvider.php new file mode 100644 index 0000000..0c3d651 --- /dev/null +++ b/src/Application/ServiceProviders/DocBlockResolverProvider.php @@ -0,0 +1,57 @@ +getContainer()->add(DocBlockFactoryInterface::class, DocBlockFactory::class); + $this->getContainer()->share( + DocBlockFactory::class, + $docBlockFactory = new DocBlockFactory(PhpDocumentorDocBlockFactory::createInstance([ + 'example' => Example::class, + ])) + ); + + $this->getContainer()->share( + DocBlockResolverInterface::class, + new MemoizedDocBlockResolver(new CompositeDocBlockResolver( + new ClassDocBlockResolver($docBlockFactory), + new MethodDocBlockResolver($docBlockFactory), + new PropertyDocBlockResolver($docBlockFactory), + new DefaultDocBlockResolver($docBlockFactory) + )) + ); + } +} diff --git a/src/Application/ServiceProviders/ElementFactoryProvider.php b/src/Application/ServiceProviders/ElementFactoryProvider.php new file mode 100644 index 0000000..edd325a --- /dev/null +++ b/src/Application/ServiceProviders/ElementFactoryProvider.php @@ -0,0 +1,45 @@ +getContainer()->share( + ElementFactoryInterface::class, + function () { + return new MemoizedElementFactory(new CompositeElementFactory( + $this->getContainer()->make(ClassLikeElementFactory::class), + $this->getContainer()->make(ConstantElementFactory::class), + $this->getContainer()->make(FunctionLikeElementFactory::class), + $this->getContainer()->make(PropertyElementFactory::class) + )); + } + ); + } +} diff --git a/src/Application/ServiceProviders/FallbackBetterReflectionProvider.php b/src/Application/ServiceProviders/FallbackBetterReflectionProvider.php new file mode 100644 index 0000000..527919f --- /dev/null +++ b/src/Application/ServiceProviders/FallbackBetterReflectionProvider.php @@ -0,0 +1,34 @@ +getContainer()->has(BetterReflection::class) + ? $this->getContainer()->get(BetterReflection::class) + : new BetterReflection(); + + $this->getContainer()->share(ClassReflector::class, $reflection->classReflector()); + } +} diff --git a/src/Application/ServiceProviders/LinkServiceProvider.php b/src/Application/ServiceProviders/LinkServiceProvider.php new file mode 100644 index 0000000..1281f56 --- /dev/null +++ b/src/Application/ServiceProviders/LinkServiceProvider.php @@ -0,0 +1,37 @@ +getContainer()->share(LinkResolverInterface::class, function () { + return new CompositeLinkResolver( + new ExternalLinkResolver(), + $this->getContainer()->make(FqsenLinkResolver::class) + ); + }); + } +} diff --git a/src/Application/ServiceProviders/SignatureRendererProvider.php b/src/Application/ServiceProviders/SignatureRendererProvider.php new file mode 100644 index 0000000..73fa865 --- /dev/null +++ b/src/Application/ServiceProviders/SignatureRendererProvider.php @@ -0,0 +1,46 @@ +getContainer()->share( + SignatureRendererInterface::class, + new CompositeSignatureRenderer(...$this->makeRenderers()) + ); + } + + /** + * @return \Generator|SignatureRendererInterface[] + */ + private function makeRenderers(): \Generator + { + yield new ConstantSignatureRenderer(); + yield new FunctionLikeElementSignatureRenderer(); + yield new PropertySignatureRenderer(); + } +} diff --git a/src/Application/ServiceProviders/TranslatorProvider.php b/src/Application/ServiceProviders/TranslatorProvider.php new file mode 100644 index 0000000..9478650 --- /dev/null +++ b/src/Application/ServiceProviders/TranslatorProvider.php @@ -0,0 +1,104 @@ +getContainer()->add(TranslatorInterface::class, Translator::class); + $this->getContainer()->share(Translator::class, [$this, 'makeTranslator']); + } + + public function makeTranslator(Config $config): TranslatorInterface + { + $translator = new Translator($config->locale); + + foreach ($this->makeLoadersForTranslations($config->translations) as $format => $loader) { + $translator->addLoader($format, $loader); + } + + foreach ($config->translations as $resource => $locale) { + $fileInfo = new \SplFileInfo($resource); + $format = $fileInfo->getExtension(); + $translator->addResource($format, $resource, $locale); + } + + return $translator; + } + + /** + * @param array $translations + * @return \Generator|LoaderInterface[] + */ + private function makeLoadersForTranslations(array $translations): \Generator + { + $registeredLoaders = []; + + $loaderClassesMap = [ + 'php' => PhpFileLoader::class, + 'csv' => CsvFileLoader::class, + 'ini' => IniFileLoader::class, + 'json' => JsonFileLoader::class, + 'mo' => MoFileLoader::class, + 'po' => PoFileLoader::class, + 'yaml' => YamlFileLoader::class, + 'yml' => YamlFileLoader::class, + ]; + + foreach ($translations as $resource => $_) { + $fileInfo = new \SplFileInfo($resource); + $format = $fileInfo->getExtension(); + + if (!isset($loaderClassesMap[$format])) { + throw new \InvalidArgumentException(sprintf( + 'Loader not found for translation resource "%s"', + $resource + )); + } + + $loaderClass = $loaderClassesMap[$format]; + + if (isset($registeredLoaders[$loaderClass])) { + continue; + } + + $registeredLoaders[$loaderClass] = true; + + $loader = new $loaderClass(); + + yield $format => $loader; + } + } +} diff --git a/src/Application/ServiceProviders/TypeFactoryProvider.php b/src/Application/ServiceProviders/TypeFactoryProvider.php new file mode 100644 index 0000000..ba20fb9 --- /dev/null +++ b/src/Application/ServiceProviders/TypeFactoryProvider.php @@ -0,0 +1,48 @@ +getContainer()->share(TypeFactoryInterface::class, function (ClassReflector $classReflector) { + $factories = []; + + foreach (CompositeTypeFactory::makeDefaultFactories() as $factory) { + if ($factory instanceof InstanceOfTypeFactory) { + $factories[] = new BetterReflectionInstanceOfTypeFactory($classReflector); + $factories[] = new BetterReflectionParentFactory($classReflector); + continue; + } + + $factories[] = $factory; + } + + return new CompositeTypeFactory(...$factories); + }); + } +} diff --git a/src/Config/Config.php b/src/Config/Config.php new file mode 100644 index 0000000..3aaefca --- /dev/null +++ b/src/Config/Config.php @@ -0,0 +1,83 @@ + + */ + public $twigOptions = []; + /** + * @var string + */ + public $locale; + /** + * @var array + */ + public $translations = []; + /** + * @var string[] + */ + public $examplesDirectories; + /** + * @var string[] + */ + public $visibility = []; + /** + * @var string[] + */ + public $constantsVisibility = []; + /** + * @var string[] + */ + public $propertiesVisibility = []; + /** + * @var string[] + */ + public $methodsVisibility = []; + /** + * @var ClassLoader|null + */ + public $composerClassLoader; +} diff --git a/src/Config/Processor/BuilderProcessor.php b/src/Config/Processor/BuilderProcessor.php new file mode 100644 index 0000000..7d82af8 --- /dev/null +++ b/src/Config/Processor/BuilderProcessor.php @@ -0,0 +1,395 @@ +|null + */ + private $twigOptions; + /** + * @var string|null + */ + private $locale; + /** + * @var string[]|null + */ + private $translations; + /** + * @var string[] + */ + public $examplesDirectories = []; + /** + * @var string[] + */ + public $visibility; + /** + * @var string[] + */ + public $constantsVisibility; + /** + * @var string[] + */ + public $propertiesVisibility; + /** + * @var string[] + */ + public $methodsVisibility; + + public function withProjectName(string $projectName): self + { + $clone = clone $this; + $clone->projectName = $projectName; + return $clone; + } + + /** + * @param string[] $sourceDirectories + * @return $this + */ + public function withSourceDirectories(array $sourceDirectories): self + { + Assert::allStringNotEmpty($sourceDirectories); + $clone = clone $this; + $clone->sourceDirectories = $sourceDirectories; + return $clone; + } + + public function withOutputDirectory(string $outputDirectory): self + { + $clone = clone $this; + $clone->outputDirectory = $outputDirectory; + return $clone; + } + + /** + * @param string[] $scanDirectories + * @return $this + */ + public function withScanDirectories(array $scanDirectories): self + { + Assert::allStringNotEmpty($scanDirectories); + $clone = clone $this; + $clone->scanDirectories = $scanDirectories; + return $clone; + } + + /** + * @param string[] $scanFiles + * @return $this + */ + public function withScanFiles(array $scanFiles): self + { + Assert::allStringNotEmpty($scanFiles); + $clone = clone $this; + $clone->scanFiles = $scanFiles; + return $clone; + } + + public function withPhpVersion(string $phpVersion): self + { + $clone = clone $this; + $clone->phpVersion = $phpVersion; + return $clone; + } + + public function withBaseNamespace(string $baseNamespace): self + { + $clone = clone $this; + $clone->baseNamespace = $baseNamespace; + return $clone; + } + + public function withFileExtension(string $fileExtension): self + { + $clone = clone $this; + $clone->fileExtension = $fileExtension; + return $clone; + } + + public function withTwigTemplatesPath(string $twigTemplatesPath): self + { + $clone = clone $this; + $clone->twigTemplatesPath = $twigTemplatesPath; + return $clone; + } + + /** + * @param array $twigOptions + * @return $this + */ + public function withTwigOptions(array $twigOptions): self + { + $clone = clone $this; + $clone->twigOptions = $twigOptions; + return $clone; + } + + public function withLocale(string $locale): self + { + $clone = clone $this; + $clone->locale = $locale; + return $clone; + } + + /** + * @param array $translations + * @return $this + */ + public function withTranslations(array $translations): self + { + Assert::allStringNotEmpty($translations); + Assert::allStringNotEmpty(array_keys($translations)); + $clone = clone $this; + $clone->translations = $translations; + return $clone; + } + + /** + * @param string[] $examplesDirectories + * @return $this + */ + public function withExamplesDirectories(array $examplesDirectories): self + { + Assert::allStringNotEmpty($examplesDirectories); + $clone = clone $this; + $clone->examplesDirectories = $examplesDirectories; + return $clone; + } + + /** + * @param string[] $visibility + * @return $this + */ + public function withVisibility(array $visibility): self + { + Assert::allInArray($visibility, Visibility::values()); + $clone = clone $this; + $clone->visibility = $visibility; + return $clone; + } + + /** + * @param string[] $constantsVisibility + * @return $this + */ + public function withConstantsVisibility(array $constantsVisibility): self + { + Assert::allInArray($constantsVisibility, Visibility::values()); + $clone = clone $this; + $clone->constantsVisibility = $constantsVisibility; + return $clone; + } + + /** + * @param string[] $propertiesVisibility + * @return $this + */ + public function withPropertiesVisibility(array $propertiesVisibility): self + { + Assert::allInArray($propertiesVisibility, Visibility::values()); + $clone = clone $this; + $clone->propertiesVisibility = $propertiesVisibility; + return $clone; + } + + /** + * @param string[] $methodsVisibility + * @return $this + */ + public function withMethodsVisibility(array $methodsVisibility): self + { + Assert::allInArray($methodsVisibility, Visibility::values()); + $clone = clone $this; + $clone->methodsVisibility = $methodsVisibility; + return $clone; + } + + public function process(Config $config): void + { + if (null !== $this->projectName) { + $config->projectName = $this->projectName; + } + + if (count($this->sourceDirectories) > 0) { + $config->sourceDirectories = $this->prepareDirectories($this->sourceDirectories); + } + + if (null !== $this->outputDirectory) { + $config->outputDirectory = $this->prepareOutputDirectory($this->outputDirectory); + } + + if (count($this->scanDirectories) > 0) { + $config->scanDirectories = $this->prepareDirectories($this->scanDirectories); + } + + if (count($this->scanFiles) > 0) { + $config->scanFiles = $this->scanFiles; + } + + if (null !== $this->phpVersion) { + $versionParser = new VersionParser(); + $bound = $versionParser->parseConstraints($this->phpVersion)->getLowerBound(); + + if (!$bound->isZero() && !$bound->isPositiveInfinity()) { + $config->phpVersion = $bound->getVersion(); + } + } + + if (null !== $this->baseNamespace) { + $config->baseNamespace = $this->baseNamespace; + } + + if (null !== $this->fileExtension) { + $config->fileExtension = $this->fileExtension; + } + + if (null !== $this->twigTemplatesPath) { + $config->twigTemplatesPath = $this->prepareOutputDirectory($this->twigTemplatesPath); + } + + if (null !== $this->twigOptions && $this->twigOptions !== $config->twigOptions) { + $config->twigOptions = array_merge($config->twigOptions, $this->twigOptions); + } + + if (null !== $this->locale) { + $config->locale = $this->locale; + } + + if (null !== $this->translations) { + $config->translations = array_merge($config->translations, $this->prepareTranslations($this->translations)); + } + + if (count($this->examplesDirectories) > 0) { + $config->examplesDirectories = $this->prepareDirectories($this->examplesDirectories); + } elseif (count($this->sourceDirectories) > 0) { + // We already set prepared source directories to config, just use it + $config->examplesDirectories = array_unique(array_map(static function (string $sourceDir): string { + return dirname($sourceDir) . DIRECTORY_SEPARATOR . 'examples'; + }, $config->sourceDirectories)); + } + + if (null !== $this->visibility) { + $config->visibility = $this->visibility; + } + + if (null !== $this->constantsVisibility) { + $config->constantsVisibility = $this->constantsVisibility; + } + + if (null !== $this->propertiesVisibility) { + $config->propertiesVisibility = $this->propertiesVisibility; + } + + if (null !== $this->methodsVisibility) { + $config->methodsVisibility = $this->methodsVisibility; + } + } + + /** + * @param string[] $directories + * @return string[] + */ + private function prepareDirectories(array $directories): array + { + $output = []; + + foreach ($directories as $directory) { + $output[] = $this->prepareDirectory($directory); + } + + return $output; + } + + private function prepareDirectory(string $directory): string + { + $cwd = getcwd(); + + // Absolute dir + if (str_starts_with($directory, DIRECTORY_SEPARATOR) && file_exists($directory)) { + return $directory; + } + + // Relative dir + $relativeDirectory = $cwd . DIRECTORY_SEPARATOR . ltrim($directory, DIRECTORY_SEPARATOR); + if (file_exists($relativeDirectory)) { + return $relativeDirectory; + } + + throw new \UnexpectedValueException(sprintf('Given directory "%s" does not exist', $directory)); + } + + private function prepareOutputDirectory(string $directory): string + { + if (Path::isAbsolute($directory)) { + return $directory; + } + + return getcwd() . DIRECTORY_SEPARATOR . $directory; + } + + /** + * @param array $translations + * @return array + */ + private function prepareTranslations(array $translations): array + { + $output = []; + + foreach ($translations as $filename => $locale) { + $realFilename = Path::canonicalize($filename); + if (false === file_exists($realFilename)) { + throw new \InvalidArgumentException(sprintf('Translation file "%s" does not exist', $filename)); + } + + $output[$realFilename] = $locale; + } + + return $output; + } +} diff --git a/src/Config/Processor/ComposerJsonProcessor.php b/src/Config/Processor/ComposerJsonProcessor.php new file mode 100644 index 0000000..a8863cc --- /dev/null +++ b/src/Config/Processor/ComposerJsonProcessor.php @@ -0,0 +1,137 @@ + + */ + private $composerJson; + + /** + * ComposerJsonProcessor constructor. + * @param string $composerJsonPath + */ + public function __construct(string $composerJsonPath) + { + $this->composerJsonPath = $composerJsonPath; + $this->composerJson = $this->readComposerJson($composerJsonPath); + } + + /** + * @param string $filePath + * @return array + */ + private function readComposerJson(string $filePath): array + { + Assert::fileExists($filePath); + + /** @var string $content */ + $content = file_get_contents($filePath); + $json = json_decode($content, true, 512, JSON_BIGINT_AS_STRING); + + if ($error = json_last_error()) { + throw new \RuntimeException(json_last_error_msg(), $error); + } + + return $json; + } + + /** + * @inheritDoc + */ + public function process(Config $config): void + { + $builder = new BuilderProcessor(); + + $builder = $builder->withProjectName($this->composerJson['name']); + + $sourceDirectories = []; + $autoloadNamespaces = []; + $baseDirectory = dirname($this->composerJsonPath); + foreach ($this->composerJson['autoload'] as $type => $autoload) { + if (!in_array($type, ['psr-4', 'psr-0'], true)) { + continue; + } + + $autoloadNamespaces += array_flip(array_keys($autoload)); + + foreach ($autoload as $dirs) { + foreach ((array)$dirs as $dir) { + $directory = rtrim($baseDirectory . DIRECTORY_SEPARATOR . $dir, '/\\'); + $sourceDirectories[$directory] = $directory; + } + } + } + + $builder = $builder->withSourceDirectories(array_values($sourceDirectories)); + + $autoloadNamespaces = array_flip($autoloadNamespaces); + $baseNamespace = null; + foreach ($autoloadNamespaces as $namespace) { + if (null === $baseNamespace) { + $baseNamespace = $namespace; + continue; + } + + if (str_starts_with($namespace, $baseNamespace)) { + continue; + } + + if (str_starts_with($baseNamespace, $namespace)) { + $baseNamespace = $namespace; + continue; + } + + $baseNamespace = ''; + break; + } + + $builder = $builder->withBaseNamespace($baseNamespace); + + $phpVersion = $this->composerJson['require']['php'] ?? null; + + if (null !== $phpVersion) { + $builder = $builder->withPhpVersion($phpVersion); + } + + $builder->process($config); + + if (null !== $classLoader = $this->findComposerClassLoader()) { + $config->composerClassLoader = $classLoader; + } + } + + private function findComposerClassLoader(): ?ClassLoader + { + $autoloadFile = implode(DIRECTORY_SEPARATOR, [ + dirname($this->composerJsonPath), + $this->composerJson['config']['vendor-dir'] ?? 'vendor', + 'autoload.php', + ]); + + if (!file_exists($autoloadFile)) { + return null; + } + + /** @var ClassLoader $classLoader */ + $classLoader = require $autoloadFile; + + // Re-register class loader appended + $classLoader->unregister(); + $classLoader->register(false); + + return $classLoader; + } +} diff --git a/src/Config/Processor/ConfigFileProcessor.php b/src/Config/Processor/ConfigFileProcessor.php new file mode 100644 index 0000000..b7d7649 --- /dev/null +++ b/src/Config/Processor/ConfigFileProcessor.php @@ -0,0 +1,44 @@ +configFilename = $this->prepareConfigFilename($configFilename); + } + + private function prepareConfigFilename(string $filename): string + { + if (false === $realFilename = realpath($filename)) { + throw new \InvalidArgumentException(sprintf('Config file "%s" does not exist.', $filename)); + } + + return $realFilename; + } + + /** + * @inheritDoc + */ + public function process(Config $config): void + { + $configurator = require $this->configFilename; + Assert::isCallable($configurator); + $innerProcessor = $configurator(); + Assert::isInstanceOf($innerProcessor, ProcessorInterface::class); + $innerProcessor->process($config); + } +} diff --git a/src/Config/Processor/ConsoleInputProcessor.php b/src/Config/Processor/ConsoleInputProcessor.php new file mode 100644 index 0000000..4a1a852 --- /dev/null +++ b/src/Config/Processor/ConsoleInputProcessor.php @@ -0,0 +1,88 @@ +input = $input; + } + + /** + * @inheritDoc + */ + public function process(Config $config): void + { + $builder = new BuilderProcessor(); + + if ( + $this->input->hasOption('projectName') && + null !== $projectName = $this->input->getOption('projectName') + ) { + Assert::string($projectName); + $builder = $builder->withProjectName($projectName); + } + + if ( + $this->input->hasOption('output') && + null !== $outputDirectory = $this->input->getOption('output') + ) { + Assert::string($outputDirectory); + $builder = $builder->withOutputDirectory($outputDirectory); + } + + if ($this->input->hasArgument('src')) { + /** @var string[] $sourceDirectories */ + $sourceDirectories = $this->input->getArgument('src'); + + if (count($sourceDirectories) > 0) { + $builder = $builder->withSourceDirectories($sourceDirectories); + } + } + + $builder->process($config); + } + + public static function configureCommand(Command $command): void + { + $command + ->addOption( + 'config', + 'c', + InputOption::VALUE_OPTIONAL, + sprintf('Path to custom config file [default: "%s"]', ConfigFileProcessor::DEFAULT_CONFIG_FILENAME) + ) + ->addOption( + 'projectName', + 'p', + InputOption::VALUE_OPTIONAL, + 'Your project name' + ) + ->addOption( + 'output', + 'o', + InputOption::VALUE_REQUIRED, + 'Directory where to save generated apiDoc files' + ) + ->addArgument('src', InputArgument::OPTIONAL | InputArgument::IS_ARRAY); + } +} diff --git a/src/Config/Processor/DefaultsProcessor.php b/src/Config/Processor/DefaultsProcessor.php new file mode 100644 index 0000000..f0efe46 --- /dev/null +++ b/src/Config/Processor/DefaultsProcessor.php @@ -0,0 +1,53 @@ +debug = $debug; + } + + /** + * @inheritDoc + */ + public function process(Config $config): void + { + $processor = (new BuilderProcessor()) + ->withPhpVersion(\PHP_VERSION) + ->withBaseNamespace('') + ->withFileExtension('md') + ->withTwigTemplatesPath(__DIR__ . '/../../../resources/views') + ->withTwigOptions([ + 'debug' => $this->debug, + 'autoescape' => false, + // TODO: add cache + // 'cache' => '/path/to/compilation_cache', + ]) + ->withLocale(class_exists(\Locale::class) ? \Locale::getDefault() : 'en') + ->withTranslations([ + __DIR__ . '/../../../resources/languages/en.php' => 'en', + __DIR__ . '/../../../resources/languages/ru.php' => 'ru', + ]) + ->withVisibility([Visibility::PUBLIC]); + + $processor->process($config); + } +} diff --git a/src/Config/Processor/ProcessorInterface.php b/src/Config/Processor/ProcessorInterface.php new file mode 100644 index 0000000..9479954 --- /dev/null +++ b/src/Config/Processor/ProcessorInterface.php @@ -0,0 +1,16 @@ +projectName = $projectName; - $this->finder = $finder; - $this->project = $this->buildProject(); - } - - /** - * Build project instance from files in $this->finder - * @return ProjectInterface - * @throws \phpDocumentor\Reflection\Exception - */ - protected function buildProject(): ProjectInterface - { - $projectFactory = ProjectFactory::createInstance(); - - $files = []; - foreach ($this->finder as $splFileInfo) { - $files[] = new LocalFile($splFileInfo->getRealPath()); - } - - return $projectFactory->create($this->projectName, $files); - } - - /** - * Getter for `project` property - * @return Project|ProjectInterface - */ - public function getProject(): ProjectInterface - { - return $this->project; - } - - /** - * Decorate phpDocumentor elements with custom element classes - * @param Element|mixed $element Element to decorate - * @return ElementInterface|mixed Decorated element or source element if there no mappings for this type - */ - public function elementFactory($element) - { - $map = [ - PhpdocReflectionElements\Argument::class => Elements\ArgumentElement::class, - PhpdocReflectionElements\Class_::class => Elements\ClassElement::class, - PhpdocReflectionElements\Constant::class => Elements\ConstantElement::class, - PhpdocReflectionElements\Function_::class => Elements\FunctionElement::class, - PhpdocReflectionElements\Interface_::class => Elements\InterfaceElement::class, - PhpdocReflectionElements\Method::class => Elements\MethodElement::class, - PhpdocReflectionElements\Namespace_::class => Elements\NamespaceElement::class, - PhpdocReflectionElements\Property::class => Elements\PropertyElement::class, - PhpdocReflectionElements\Trait_::class => Elements\TraitElement::class, - ]; - - if (!isset($map[get_class($element)])) { - return $element; - } - - $class = $map[get_class($element)]; - - return new $class($element, $this); - } - - /** - * Proxy method call to project instance - * @param string $method Method name to proxy - * @param array $arguments Arguments to proxy with - * @return mixed - */ - protected function proxyProject(string $method, array $arguments) - { - return call_user_func_array([$this->project, $method], $arguments); - } - - /** - * Returns all namespaces with their sub-elements. - * @return NamespacesCollection - */ - public function getNamespaces(): NamespacesCollection - { - if ($this->namespaces === null) { - $this->namespaces = new NamespacesCollection(array_map(function ($prop) { - return $this->elementFactory($prop); - }, $this->proxyProject(__FUNCTION__, func_get_args()))); - $this->namespaces = $this->namespaces->sortBy(function (NamespaceElement $namespace) { - return (string)$namespace->getFqsen(); - }, SORT_ASC, SORT_NATURAL); - } - - return $this->namespaces; - } - - /** - * @param string $method - * @return array - */ - protected function buildMap(string $method): array - { - $map = []; - foreach ($this->project->getFiles() as $file) { - /** @var Element $_element */ - foreach ($file->$method() as $_element) { - $element = $this->elementFactory($_element); - $map[(string)$element->getFqsen()] = $element; - $this->filesMap[(string)$element->getFqsen()] = $file; - } - } - return $map; - } - - /** - * Returns a list of class descriptors contained in project files. - * @return ClassElement[] - */ - public function getClasses(): array - { - if ($this->classes === null) { - $this->classes = $this->buildMap(__FUNCTION__); - } - - return $this->classes; - } - - /** - * Returns a list of interface descriptors contained in project files. - * @return InterfaceElement[] - */ - public function getInterfaces(): array - { - if ($this->interfaces === null) { - $this->interfaces = $this->buildMap(__FUNCTION__); - } - - return $this->interfaces; - } - - /** - * Returns a list of trait descriptors contained in project files. - * @return TraitElement[] - */ - public function getTraits(): array - { - if ($this->traits === null) { - $this->traits = $this->buildMap(__FUNCTION__); - } - - return $this->traits; - } - - /** - * Returns a list of constant descriptors contained in project files. - * @return ConstantElement[] - */ - public function getConstants(): array - { - if ($this->constants === null) { - $this->constants = $this->buildMap(__FUNCTION__); - } - - return $this->constants; - } - - /** - * Returns a list of function descriptors contained in project files. - * @return FunctionElement[] - */ - public function getFunctions(): array - { - if ($this->functions === null) { - $this->functions = $this->buildMap(__FUNCTION__); - } - - return $this->functions; - } - - /** - * Get file by element name - * @param string $fqsen Fully Qualified Structural Element Name - * @return File|null - */ - public function getFile(string $fqsen): ?File - { - return $this->filesMap[$fqsen]; - } - - /** - * Get element object by name - * @param string $fqsen Fully Qualified Structural Element Name - * @return mixed|null - */ - public function getElement(string $fqsen) - { - $order = [ - 'classes', - 'interfaces', - 'traits', - 'constants', - 'functions', - ]; - - foreach ($order as $item) { - if ($this->$item === null) { - $this->{'get' . ucfirst($item)}(); - } - if (isset($this->$item[$fqsen])) { - return $this->$item[$fqsen]; - } - } - - return null; - } -} diff --git a/src/Element/AbstractElement.php b/src/Element/AbstractElement.php new file mode 100644 index 0000000..b116bd2 --- /dev/null +++ b/src/Element/AbstractElement.php @@ -0,0 +1,57 @@ +|LinkInterface[] + */ + public $links; + /** + * @var CollectionInterface|Example[] + */ + public $examples; + + final public function __construct() + { + $this->links = new TypedCollection([], new InstanceOfType(LinkInterface::class)); + $this->examples = new TypedCollection([], new InstanceOfType(Example::class)); + + $this->init(); + } + + protected function init(): void + { + } +} diff --git a/src/Element/ClassElement.php b/src/Element/ClassElement.php new file mode 100644 index 0000000..9160988 --- /dev/null +++ b/src/Element/ClassElement.php @@ -0,0 +1,101 @@ +|ConstantElement[] + */ + public $constants; + /** + * @var CollectionInterface|PropertyElement[] + */ + public $properties; + /** + * @var CollectionInterface|MethodElement[] + */ + public $methods; + /** + * @var CollectionInterface|PropertyElement[] + */ + public $magicProperties; + /** + * @var CollectionInterface|MethodElement[] + */ + public $magicMethods; + /** + * @var ClassElement|null + */ + public $parent; + /** + * @var CollectionInterface|InterfaceElement[] + */ + public $interfaces; + /** + * @var CollectionInterface|TraitElement[] + */ + public $traits; + + protected function init(): void + { + $this->constants = new TypedCollection( + new IndexedCollection([], static function (ConstantElement $constantElement): string { + return $constantElement->name->getShortName(); + }), + new InstanceOfType(ConstantElement::class) + ); + $this->properties = new TypedCollection( + new IndexedCollection([], static function (PropertyElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(PropertyElement::class) + ); + $this->methods = new TypedCollection( + new IndexedCollection([], static function (MethodElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(MethodElement::class) + ); + $this->magicProperties = new TypedCollection( + new IndexedCollection([], static function (PropertyElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(PropertyElement::class) + ); + $this->magicMethods = new TypedCollection( + new IndexedCollection([], static function (MethodElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(MethodElement::class) + ); + + $this->interfaces = new TypedCollection( + new IndexedCollection([], static function (InterfaceElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(InterfaceElement::class) + ); + $this->traits = new TypedCollection( + new IndexedCollection([], static function (TraitElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(TraitElement::class) + ); + } +} diff --git a/src/Element/ConstantElement.php b/src/Element/ConstantElement.php new file mode 100644 index 0000000..06d5fc4 --- /dev/null +++ b/src/Element/ConstantElement.php @@ -0,0 +1,20 @@ + + * @package spaceonfire\ApiDoc\Element + */ +final class ConstantsAggregate implements ElementInterface, \IteratorAggregate, \Countable +{ + /** + * @var Fqsen + */ + private $fqsen; + /** + * @var ConstantElement[] + */ + private $constantElements; + + public function __construct(ConstantElement ...$constantElements) + { + $this->fqsen = new Fqsen('constants'); + $this->constantElements = $constantElements; + } + + /** + * Getter for `fqsen` property. + * @return Fqsen + */ + public function getFqsen(): Fqsen + { + return $this->fqsen; + } + + /** + * @inheritDoc + * @return \ArrayIterator|ConstantElement[] + */ + public function getIterator() + { + return new \ArrayIterator($this->constantElements); + } + + /** + * @inheritDoc + */ + public function count(): int + { + return count($this->constantElements); + } +} diff --git a/src/Element/DocBlock/DocBlock.php b/src/Element/DocBlock/DocBlock.php new file mode 100644 index 0000000..6af2521 --- /dev/null +++ b/src/Element/DocBlock/DocBlock.php @@ -0,0 +1,142 @@ +> + */ + private $tags = []; + + /** + * DocBlock constructor. + * @param string $summary + * @param string $description + * @param Tag[] $tags + */ + public function __construct(string $summary, string $description, iterable $tags = []) + { + $this->summary = $summary; + $this->description = $description; + + foreach ($tags as $tag) { + if ($tag instanceof InvalidTag) { + // TODO: log invalid tag + continue; + } + + if ($tag instanceof BaseTag && 'inheritdoc' === mb_strtolower($tag->getName())) { + if (!self::checkInheritTag($this->description)) { + $tagDescription = $tag->getDescription(); + $this->description = trim(sprintf( + '%s@inheritdoc%s', + $this->description . PHP_EOL, + $tagDescription ? PHP_EOL . $tagDescription : '' + )); + } + + continue; + } + + if (!isset($this->tags[$tag->getName()])) { + $this->tags[$tag->getName()] = [$tag]; + } else { + $this->tags[$tag->getName()][] = $tag; + } + } + } + + /** + * Getter for `summary` property. + * @return string + */ + public function getSummary(): string + { + return $this->summary; + } + + /** + * Getter for `description` property. + * @return string + */ + public function getDescription(): string + { + return $this->description; + } + + /** + * Getter for `tags` property. + * @return Generator + */ + public function getTags(): Generator + { + foreach ($this->tags as $_ => $tags) { + foreach ($tags as $tag) { + yield $tag; + } + } + } + + /** + * @param string $tagName + * @return Generator + */ + public function getTagsByName(string $tagName): Generator + { + if (!isset($this->tags[$tagName])) { + return; + } + + foreach ($this->tags[$tagName] as $tag) { + yield $tag; + } + } + + public function getFirstTagByName(string $tagName): ?Tag + { + if (!isset($this->tags[$tagName])) { + return null; + } + + return $this->tags[$tagName][0]; + } + + public function hasTag(string $tagName): bool + { + return isset($this->tags[$tagName]); + } + + /** + * @return array> + */ + public function getTagsGroupedByName(): array + { + return $this->tags; + } + + public function hasInheritTag(): bool + { + return self::checkInheritTag($this->description); + } + + private static function checkInheritTag(string $text): bool + { + return false !== mb_stripos($text, '@inheritdoc'); + } +} diff --git a/src/Element/DocBlock/Factory/DocBlockFactory.php b/src/Element/DocBlock/Factory/DocBlockFactory.php new file mode 100644 index 0000000..69ba9ad --- /dev/null +++ b/src/Element/DocBlock/Factory/DocBlockFactory.php @@ -0,0 +1,133 @@ +docBlockFactory = $docBlockFactory; + $this->makeContext = new NamespaceNodeToReflectionTypeContext(); + } + + /** + * @inheritDoc + */ + public function make(object $reflection): DocBlock + { + $comment = $this->extractComment($reflection); + + if ('' === trim($comment)) { + return new DocBlock('', ''); + } + + $phpDocumentorDocBlock = $this->docBlockFactory->create( + $this->extractComment($reflection), + $this->makeContext($reflection) + ); + + return new DocBlock( + $this->prepareDocBlockText($phpDocumentorDocBlock->getSummary()), + $this->prepareDocBlockText($phpDocumentorDocBlock->getDescription()), + $phpDocumentorDocBlock->getTags() + ); + } + + private function extractComment(object $reflection): string + { + if (!method_exists($reflection, 'getDocComment')) { + throw GivenReflectionNotSupported::forReason($reflection, 'Unable to extract phpDoc comment.'); + } + + return $reflection->getDocComment(); + } + + private function makeContext(object $reflection): ?Context + { + if (null !== $namespace = $this->extractDeclaringNamespaceNode($reflection)) { + return ($this->makeContext)($namespace); + } + + if (method_exists($reflection, 'getNamespaceName')) { + return new Context($reflection->getNamespaceName()); + } + + if (method_exists($reflection, 'getDeclaringClass')) { + $class = $reflection->getDeclaringClass(); + + if ($class instanceof ReflectionClass) { + return new Context($class->getNamespaceName()); + } + } + + return null; + } + + /** + * @param ReflectionClass|ReflectionMethod|ReflectionProperty|object $reflection + * @return Namespace_|null + */ + private function extractDeclaringNamespaceNode(object $reflection): ?Namespace_ + { + $extractor = (function (): ?Namespace_ { + $vars = get_object_vars($this); + + if (!isset($vars['declaringNamespace'])) { + return null; + } + + if (!$vars['declaringNamespace'] instanceof Namespace_) { + return null; + } + + return $vars['declaringNamespace']; + }); + + $scopes = array_merge([get_class($reflection)], class_parents($reflection) ?: []); + + foreach ($scopes as $scope) { + if (null !== $namespace = $extractor->bindTo($reflection, $scope)()) { + return $namespace; + } + } + + return null; + } + + /** + * @param string|object|mixed $text + * @return string + */ + private function prepareDocBlockText($text): string + { + $text = (string)$text; + + $text = str_ireplace([ + '{@inheritdoc}', + '@inheritdoc', + ], '@inheritdoc', $text); + + return trim($text); + } +} diff --git a/src/Element/DocBlock/Factory/DocBlockFactoryInterface.php b/src/Element/DocBlock/Factory/DocBlockFactoryInterface.php new file mode 100644 index 0000000..f4faccd --- /dev/null +++ b/src/Element/DocBlock/Factory/DocBlockFactoryInterface.php @@ -0,0 +1,17 @@ +docBlockFactory = $docBlockFactory; + } + + /** + * @inheritDoc + */ + final public function resolve(object $reflection): DocBlock + { + if (!$this->supports($reflection)) { + throw GivenReflectionNotSupported::byDocBlockResolver($reflection); + } + + return $this->doResolve($reflection); + } + + /** + * @param object $reflection + * @return DocBlock + */ + protected function doResolve(object $reflection): DocBlock + { + $docBlock = $this->docBlockFactory->make($reflection); + + if (!$docBlock->hasInheritTag()) { + return $docBlock; + } + + foreach ($this->getParentReflection($reflection) as $parentReflection) { + $docBlock = $this->mergeDocBlocks($docBlock, $this->resolve($parentReflection)); + } + + return $docBlock; + } + + /** + * Returns parent reflection + * @param object $reflection + * @return iterable + * @codeCoverageIgnore + */ + protected function getParentReflection(object $reflection): iterable + { + return []; + } + + /** + * Returns list of tag names to inherit + * @see https://docs.phpdoc.org/latest/guide/guides/inheritance.html + * @return string[] + * @codeCoverageIgnore + */ + protected function getInheritTagNames(): array + { + return []; + } + + final protected function mergeDocBlocks(DocBlock $child, DocBlock $parent): DocBlock + { + return (new DocBlockMerger($this->getInheritTagNames()))($child, $parent); + } +} diff --git a/src/Element/DocBlock/Resolver/ClassDocBlockResolver.php b/src/Element/DocBlock/Resolver/ClassDocBlockResolver.php new file mode 100644 index 0000000..78ca982 --- /dev/null +++ b/src/Element/DocBlock/Resolver/ClassDocBlockResolver.php @@ -0,0 +1,51 @@ + + */ + protected function getParentReflection(object $reflection): iterable + { + if (null !== $parentClass = $reflection->getParentClass()) { + yield $parentClass; + } + + foreach ($reflection->getImmediateInterfaces() as $interface) { + yield $interface; + } + } + + /** + * @inheritDoc + */ + protected function getInheritTagNames(): array + { + return [ + 'author', + 'copyright', + 'package', + 'subpackage', + 'version', + 'method', + 'property', + ]; + } +} diff --git a/src/Element/DocBlock/Resolver/CompositeDocBlockResolver.php b/src/Element/DocBlock/Resolver/CompositeDocBlockResolver.php new file mode 100644 index 0000000..dd1cc7d --- /dev/null +++ b/src/Element/DocBlock/Resolver/CompositeDocBlockResolver.php @@ -0,0 +1,49 @@ +resolvers = $resolvers; + } + + /** + * @inheritDoc + */ + public function supports(object $reflection): bool + { + foreach ($this->resolvers as $resolver) { + if ($resolver->supports($reflection)) { + return true; + } + } + + return false; + } + + /** + * @inheritDoc + */ + public function resolve(object $reflection): DocBlock + { + foreach ($this->resolvers as $resolver) { + if ($resolver->supports($reflection)) { + return $resolver->resolve($reflection); + } + } + + throw GivenReflectionNotSupported::byDocBlockResolver($reflection); + } +} diff --git a/src/Element/DocBlock/Resolver/DefaultDocBlockResolver.php b/src/Element/DocBlock/Resolver/DefaultDocBlockResolver.php new file mode 100644 index 0000000..1d672f9 --- /dev/null +++ b/src/Element/DocBlock/Resolver/DefaultDocBlockResolver.php @@ -0,0 +1,16 @@ +inheritTagNames = $inheritTagNames; + } + + /** + * Merge child and parent DocBlocks + * @param DocBlock $child + * @param DocBlock $parent + * @return DocBlock + */ + public function __invoke(DocBlock $child, DocBlock $parent): DocBlock + { + $summary = trim($child->getSummary()); + if ('' === $summary) { + $summary = $parent->getSummary(); + } + + $description = trim(str_ireplace('@inheritdoc', $parent->getDescription(), $child->getDescription())); + + $tags = $child->getTagsGroupedByName(); + + foreach ($this->inheritTagNames as $tagName) { + switch ($tagName) { + // Child overrides + case 'return': + case 'author': + case 'copyright': + case 'version': + case 'var': + case 'package': + case 'subpackage': + if (isset($tags[$tagName])) { + continue 2; + } + + if ($tag = $parent->getFirstTagByName($tagName)) { + $tags[$tagName] = [$tag]; + } + break; + + // Child appends and partially overrides + case 'param': + $parentTags = $this->indexParamTags(...$parent->getTagsByName('param')); + $childTags = $this->indexParamTags(...($tags['param'] ?? [])); + $tags['param'] = $this->mergeTagsCollections($parentTags, $childTags); + break; + + case 'method': + $parentTags = $this->indexMethodTags(...$parent->getTagsByName('method')); + $childTags = $this->indexMethodTags(...($tags['method'] ?? [])); + $tags['method'] = $this->mergeTagsCollections($parentTags, $childTags); + break; + + case 'property': + $parentPropertyTags = $this->indexPropertyTags(...$parent->getTagsByName('property')); + $parentPropertyReadTags = $this->indexPropertyTags(...$parent->getTagsByName('property-read')); + $parentPropertyWriteTags = $this->indexPropertyTags(...$parent->getTagsByName('property-write')); + $parentPropertyTags = $this->mergeTagsCollections( + $parentPropertyReadTags, + $parentPropertyWriteTags, + $parentPropertyTags + ); + $parentPropertyTags = $this->indexPropertyTags(...$parentPropertyTags); + + $childPropertyTags = $this->indexPropertyTags(...($tags['property'] ?? [])); + $childPropertyReadTags = $this->indexPropertyTags(...($tags['property-read'] ?? [])); + $childPropertyWriteTags = $this->indexPropertyTags(...($tags['property-write'] ?? [])); + $childPropertyTags = $this->mergeTagsCollections( + $childPropertyReadTags, + $childPropertyWriteTags, + $childPropertyTags + ); + $childPropertyTags = $this->indexPropertyTags(...$childPropertyTags); + + $output = []; + + foreach ($this->mergeTagsCollections($parentPropertyTags, $childPropertyTags) as $tag) { + if (!isset($output[$tag->getName()])) { + $output[$tag->getName()] = [$tag]; + } else { + $output[$tag->getName()][] = $tag; + } + } + + $tags = array_merge($tags, $output); + break; + + // Child appends by default + default: + $parentTags = iterator_to_array($parent->getTagsByName($tagName)); + $childTags = $tags[$tagName] ?? []; + $tags[$tagName] = []; + + if (count($parentTags) > 0) { + array_push($tags[$tagName], ...$parentTags); + } + + if (count($childTags) > 0) { + array_push($tags[$tagName], ...$childTags); + } + break; + } + } + + $flattenTags = []; + foreach ($tags as $tagsGroup) { + foreach ($tagsGroup as $tag) { + $flattenTags[] = $tag; + } + } + + return new DocBlock($summary, $description, $flattenTags); + } + + /** + * @param Param ...$tags + * @return array|Param[] + */ + private function indexParamTags(Param ...$tags): array + { + $output = []; + + foreach ($tags as $tag) { + if (null === $variableName = $tag->getVariableName()) { + $output[] = $tag; + continue; + } + + $output[$variableName] = $tag; + } + + return $output; + } + + /** + * @param Method ...$tags + * @return array|Method[] + */ + private function indexMethodTags(Method ...$tags): array + { + $output = []; + + foreach ($tags as $tag) { + $output[$tag->getMethodName()] = $tag; + } + + return $output; + } + + /** + * @param Property|PropertyRead|PropertyWrite ...$tags + * @return array + */ + private function indexPropertyTags(Tag ...$tags): array + { + $output = []; + + foreach ($tags as $tag) { + if (null === $variableName = $tag->getVariableName()) { + $output[] = $tag; + continue; + } + + $output[$variableName] = $tag; + } + + return $output; + } + + /** + * @param iterable ...$tagsCollections + * @return array + */ + private function mergeTagsCollections(iterable ...$tagsCollections): array + { + $stringKeys = []; + $nonStringKeys = []; + foreach ($tagsCollections as $tagsCollection) { + foreach ($tagsCollection as $key => $tag) { + if (is_string($key)) { + $stringKeys[$key] = $tag; + } else { + $nonStringKeys[] = $tag; + } + } + } + $output = []; + + if (count($nonStringKeys) > 0) { + array_push($output, ...$nonStringKeys); + } + + if (count($stringKeys) > 0) { + array_push($output, ...array_values($stringKeys)); + } + + return $output; + } +} diff --git a/src/Element/DocBlock/Resolver/DocBlockResolverInterface.php b/src/Element/DocBlock/Resolver/DocBlockResolverInterface.php new file mode 100644 index 0000000..ba82738 --- /dev/null +++ b/src/Element/DocBlock/Resolver/DocBlockResolverInterface.php @@ -0,0 +1,24 @@ +|bool[] + */ + private $supportsCache; + /** + * @var \SplObjectStorage|DocBlock[] + */ + private $resolvedCache; + + public function __construct(DocBlockResolverInterface $resolver) + { + $this->resolver = $resolver; + $this->supportsCache = new \SplObjectStorage(); + $this->resolvedCache = new \SplObjectStorage(); + } + + /** + * @inheritDoc + */ + public function supports(object $reflection): bool + { + return $this->supportsCache[$reflection] + ?? $this->supportsCache[$reflection] = $this->resolver->supports($reflection); + } + + /** + * @inheritDoc + */ + public function resolve(object $reflection): DocBlock + { + return $this->resolvedCache[$reflection] + ?? $this->resolvedCache[$reflection] = $this->resolver->resolve($reflection); + } +} diff --git a/src/Element/DocBlock/Resolver/MethodDocBlockResolver.php b/src/Element/DocBlock/Resolver/MethodDocBlockResolver.php new file mode 100644 index 0000000..a5040a0 --- /dev/null +++ b/src/Element/DocBlock/Resolver/MethodDocBlockResolver.php @@ -0,0 +1,59 @@ +getShortName(); + $class = $reflection->getDeclaringClass(); + $parentClass = $class->getParentClass(); + + if (null !== $parentClass && $parentClass->hasMethod($methodName)) { + return [$parentClass->getMethod($methodName)]; + } + + /** @var ReflectionClass $interface */ + foreach ($class->getImmediateInterfaces() as $interface) { + if ($interface->hasMethod($methodName)) { + return [$interface->getMethod($methodName)]; + } + } + + return []; + } + + /** + * @inheritDoc + */ + protected function getInheritTagNames(): array + { + return [ + 'author', + 'copyright', + 'version', + 'param', + 'return', + 'throws', + ]; + } +} diff --git a/src/Element/DocBlock/Resolver/PropertyDocBlockResolver.php b/src/Element/DocBlock/Resolver/PropertyDocBlockResolver.php new file mode 100644 index 0000000..b08b337 --- /dev/null +++ b/src/Element/DocBlock/Resolver/PropertyDocBlockResolver.php @@ -0,0 +1,57 @@ +getName(); + $class = $reflection->getDeclaringClass(); + $parentClass = $class->getParentClass(); + + if (null !== $parentClass && null !== $property = $parentClass->getProperty($propertyName)) { + return [$property]; + } + + /** @var ReflectionClass $trait */ + foreach ($class->getTraits() as $trait) { + if (null !== $property = $trait->getProperty($propertyName)) { + return [$property]; + } + } + + return []; + } + + /** + * @inheritDoc + */ + protected function getInheritTagNames(): array + { + return [ + 'author', + 'copyright', + 'version', + 'var', + ]; + } +} diff --git a/src/Element/ElementInterface.php b/src/Element/ElementInterface.php new file mode 100644 index 0000000..eefb20d --- /dev/null +++ b/src/Element/ElementInterface.php @@ -0,0 +1,9 @@ + + */ + private $extensionToLanguageMap = [ + 'php' => 'php', + 'js' => 'js', + 'ts' => 'ts', + 'md' => 'md', + 'markdown' => 'md', + ]; + + /** + * ExampleCodeSnippetResolver constructor. + * @param string[] $exampleDirectories + * @param bool $trimEmptyLines + * @param array $extensionToLanguageMap + */ + public function __construct( + array $exampleDirectories, + bool $trimEmptyLines = true, + array $extensionToLanguageMap = [] + ) { + $this->exampleDirectories = $exampleDirectories; + $this->trimEmptyLines = $trimEmptyLines; + $this->extensionToLanguageMap = array_merge($this->extensionToLanguageMap, $extensionToLanguageMap); + } + + public function supports(Example $example): bool + { + return null === $example->getUri(); + } + + public function resolve(Example $example): CodeSnippet + { + $fileInfo = $this->findFilePath($example); + $lines = $this->getFileContentLines($fileInfo); + + $startLineIndex = max(0, $example->getStartingLine() - 1); + + $snippetLines = array_slice($lines, $startLineIndex, $example->getLineCount()); + $snippet = implode(PHP_EOL, $snippetLines); + + if ($this->trimEmptyLines) { + $snippet = trim($snippet, PHP_EOL); + } + + return new CodeSnippet($snippet, $this->getLanguageForFile($fileInfo)); + } + + private function findFilePath(Example $example): SplFileInfo + { + if (null !== $example->getUri()) { + throw new \RuntimeException('Cannot resolve code snippet for uri examples.'); + } + + $findInDirectories = $this->exampleDirectories; + array_unshift($findInDirectories, dirname($example->getLocation()->getAbsolutePath())); + + $triedPaths = []; + + foreach ($findInDirectories as $directory) { + $triedPaths[] = $path = $directory . DIRECTORY_SEPARATOR . $example->getFilePath(); + + if (false === $path = realpath($path)) { + continue; + } + + return new SplFileInfo($path, dirname($example->getFilePath()), basename($example->getFilePath())); + } + + throw new \RuntimeException(sprintf( + 'Cannot find example file path for "%s". Tried paths: %s.', + $example->getFilePath(), + implode(', ', $triedPaths) + )); + } + + /** + * @param SplFileInfo $path + * @return string[] + */ + private function getFileContentLines(SplFileInfo $path): array + { + static $cache = []; + + return $cache[$path->getPathname()] + ?? $cache[$path->getPathname()] = array_map(static function (string $line): string { + return rtrim($line, "\r\n"); + }, explode(PHP_EOL, $path->getContents())); + } + + private function getLanguageForFile(SplFileInfo $fileInfo): ?string + { + return $this->extensionToLanguageMap[$fileInfo->getExtension()] ?? null; + } +} diff --git a/src/Element/Factory/AbstractElementFactory.php b/src/Element/Factory/AbstractElementFactory.php new file mode 100644 index 0000000..b0160c7 --- /dev/null +++ b/src/Element/Factory/AbstractElementFactory.php @@ -0,0 +1,216 @@ +docBlockResolver = $docBlockResolver; + $this->typeFactory = $typeFactory; + $this->typeResolver = new MemoizedTypeResolver(new CompositeTypeResolver( + new ArgumentTypeResolver($typeFactory), + new FunctionReturnTypeResolver($typeFactory), + new PropertyTypeResolver($typeFactory) + )); + $this->locationFactory = $locationFactory; + } + + /** + * @inheritDoc + */ + final public function make(object $reflection): ElementInterface + { + if (!$this->supports($reflection)) { + throw GivenReflectionNotSupported::byElementFactory($reflection); + } + + return $this->doMake($reflection); + } + + /** + * @param object $reflection + * @return ElementInterface + */ + abstract protected function doMake(object $reflection): ElementInterface; + + /** + * @inheritDoc + */ + final public function setParent(ElementFactoryInterface $factory): void + { + $this->parent = $factory; + } + + /** + * @param PhpDocumentorType|null $type + * @param mixed|null $selfReplacement + * @param mixed|null $parentReplacement + * @return Type|null + */ + final protected function createTypeFromDocBlock( + ?PhpDocumentorType $type, + $selfReplacement = null, + $parentReplacement = null + ): ?Type { + if (null === $type) { + return null; + } + + if (null !== $selfReplacement && !$selfReplacement instanceof Type) { + $selfReplacement = $this->typeFactory->supports($selfReplacement) + ? $this->typeFactory->make($selfReplacement) + : null; + } + + if (null === $parentReplacement && null !== $selfReplacement) { + $parentReplacement = 'parent:' . $selfReplacement; + } + + if (null !== $parentReplacement && !$parentReplacement instanceof Type) { + $parentReplacement = $this->typeFactory->supports($parentReplacement) + ? $this->typeFactory->make($parentReplacement) + : null; + } + + return (new PhpDocTypeConverter($this->typeFactory))($type, $selfReplacement, $parentReplacement); + } + + /** + * @param DocBlock $docBlock + * @return bool|string + */ + final protected function getDeprecated(DocBlock $docBlock) + { + /** @var Deprecated|null $deprecatedTag */ + $deprecatedTag = $docBlock->getFirstTagByName('deprecated'); + + if (null === $deprecatedTag) { + return false; + } + + $reason = trim((string)$deprecatedTag->getDescription()); + + return '' === $reason ? true : $reason; + } + + /** + * @param DocBlock $docBlock + * @return LinkInterface[] + */ + final protected function makeLinksFromDocBlock(DocBlock $docBlock): iterable + { + $fqsenLinks = []; + $externalLinks = []; + + /** @var Link $linkTag */ + foreach ($docBlock->getTagsByName('link') as $linkTag) { + $description = trim((string)($linkTag->getDescription() ?? '')); + + $externalLinks[] = new ExternalLink( + new Uri($linkTag->getLink()), + '' === $description ? null : $description + ); + } + + /** @var See $seeTag */ + foreach ($docBlock->getTagsByName('see') as $seeTag) { + $description = trim((string)($seeTag->getDescription() ?? '')); + + $reference = $seeTag->getReference(); + + if ($reference instanceof UrlReference) { + $externalLinks[] = new ExternalLink( + new Uri((string)$reference), + '' === $description ? null : $description + ); + } else { + $fqsenLinks[] = new FqsenLink( + new Fqsen((string)$reference), + '' === $description ? null : $description + ); + } + } + + return array_merge($fqsenLinks, $externalLinks); + } + + /** + * @param DocBlock $docBlock + * @param Location $location + * @return Example[] + */ + final protected function makeExamplesFromDocBlock(DocBlock $docBlock, Location $location): iterable + { + /** @var ExampleTag $exampleTag */ + foreach ($docBlock->getTagsByName('example') as $exampleTag) { + yield new Example( + $exampleTag->getFilePath(), + $location, + $exampleTag->getStartingLine(), + $exampleTag->getLineCount(), + $exampleTag->getDescription() + ); + } + } +} diff --git a/src/Element/Factory/ClassLikeElementFactory.php b/src/Element/Factory/ClassLikeElementFactory.php new file mode 100644 index 0000000..0e43395 --- /dev/null +++ b/src/Element/Factory/ClassLikeElementFactory.php @@ -0,0 +1,306 @@ +membersVisibilityFilter = $membersVisibilityFilter + ?? new ClassMembersVisibilityFilter(new VisibilityFilter()); + } + + /** + * @inheritDoc + */ + public function supports(object $reflection): bool + { + return $reflection instanceof ReflectionClass; + } + + /** + * @param ReflectionClass $reflection + * @return ClassElement|InterfaceElement|TraitElement + */ + private function createElement(ReflectionClass $reflection): ElementInterface + { + if ($reflection->isInterface()) { + return new InterfaceElement(); + } + + if ($reflection->isTrait()) { + return new TraitElement(); + } + + return new ClassElement(); + } + + /** + * @inheritDoc + * @param ReflectionClass $reflection + * @return ClassElement|InterfaceElement|TraitElement + */ + protected function doMake(object $reflection): ElementInterface + { + $element = $this->createElement($reflection); + + $docBlock = $this->docBlockResolver->resolve($reflection); + + $element->name = new Fqsen($reflection->getName()); + $element->summary = $docBlock->getSummary(); + $element->description = $docBlock->getDescription(); + $element->deprecated = $this->getDeprecated($docBlock); + $element->links = $element->links->merge($this->makeLinksFromDocBlock($docBlock)); + + if ($element instanceof ClassElement) { + $element->abstract = $reflection->isAbstract() || $docBlock->hasTag('abstract'); + $element->final = $reflection->isFinal() || $docBlock->hasTag('final'); + } + + if ($element instanceof ClassElement || $element instanceof InterfaceElement) { + $element->constants = $element->constants->merge( + array_map( + function (ReflectionClassConstant $reflection) { + return $this->parent->make($reflection); + }, + array_filter( + $reflection->getReflectionConstants(), + function (ReflectionClassConstant $reflection) { + $filter = $this->membersVisibilityFilter->forConstants(); + + if ($reflection->isPrivate()) { + return $filter->hasPrivate(); + } + + if ($reflection->isProtected()) { + return $filter->hasProtected(); + } + + return $filter->hasPublic(); + } + ) + ) + ); + } + + if ($element instanceof ClassElement || $element instanceof TraitElement) { + $element->properties = $element->properties->merge( + array_map(function (ReflectionProperty $reflection) { + return $this->parent->make($reflection); + }, $reflection->getProperties($this->getReflectionPropertiesFilter())) + ); + } + + $element->methods = $element->methods->merge( + array_map(function (ReflectionMethod $reflection) { + return $this->parent->make($reflection); + }, $reflection->getMethods($this->getReflectionMethodsFilter())) + ); + + if ($element instanceof ClassElement || $element instanceof InterfaceElement) { + $interfaces = array_map(function (ReflectionClass $reflection) { + return $this->parent->make($reflection); + }, $reflection->getInterfaces()); + + if ($element instanceof ClassElement) { + $element->interfaces = $element->interfaces->merge($interfaces); + } else { + $element->parents = $element->parents->merge($interfaces); + } + } + + if ($element instanceof ClassElement || $element instanceof TraitElement) { + $traits = array_map(function (ReflectionClass $reflection) { + return $this->parent->make($reflection); + }, $reflection->getTraits()); + + if ($element instanceof ClassElement) { + $element->traits = $element->traits->merge($traits); + } else { + $element->parents = $element->parents->merge($traits); + } + } + + if ($element instanceof ClassElement && null !== $parentReflection = $reflection->getParentClass()) { + $parent = $this->parent->make($parentReflection); + + Assert::isInstanceOf($parent, ClassElement::class); + + $element->parent = $parent; + } + + $element->magicMethods = $element->magicMethods->merge( + $this->createMagicMethods($element->name->getName(), $docBlock) + ); + $element->magicProperties = $element->magicProperties->merge( + $this->createMagicProperties($element->name->getName(), $docBlock) + ); + + if (null !== $reflection->getFileName()) { + $element->location = $this->locationFactory->make( + $reflection->getFileName(), + $reflection->getStartLine(), + $reflection->getStartColumn() + ); + $element->examples = $element->examples->merge( + $this->makeExamplesFromDocBlock($docBlock, $element->location) + ); + } + + return $element; + } + + private function getReflectionPropertiesFilter(): ?int + { + $output = 0; + + $filter = $this->membersVisibilityFilter->forProperties(); + + if ($filter->hasPublic()) { + $output |= \ReflectionProperty::IS_PUBLIC; + } + + if ($filter->hasProtected()) { + $output |= \ReflectionProperty::IS_PROTECTED; + } + + if ($filter->hasPrivate()) { + $output |= \ReflectionProperty::IS_PRIVATE; + } + + return 0 === $output ? null : $output; + } + + private function getReflectionMethodsFilter(): ?int + { + $output = 0; + + $filter = $this->membersVisibilityFilter->forProperties(); + + if ($filter->hasPublic()) { + $output |= \ReflectionMethod::IS_PUBLIC; + } + + if ($filter->hasProtected()) { + $output |= \ReflectionMethod::IS_PROTECTED; + } + + if ($filter->hasPrivate()) { + $output |= \ReflectionMethod::IS_PRIVATE; + } + + return 0 === $output ? null : $output; + } + + /** + * @param string $className + * @param DocBlock $docBlock + * @return \Generator|MethodElement[] + */ + private function createMagicMethods(string $className, DocBlock $docBlock): iterable + { + /** @var Method $methodTag */ + foreach ($docBlock->getTagsByName('method') as $methodTag) { + $element = new MethodElement(); + $element->name = new Fqsen($className . '::' . $methodTag->getMethodName()); + $element->summary = (string)$methodTag->getDescription(); + $element->description = ''; + $element->static = $methodTag->isStatic(); + $element->visibility = Visibility::public(); + $element->parameters = $element->parameters->merge( + array_map(function (array $arg) use ($className): FunctionParameter { + return new FunctionParameter( + $arg['name'], + '', + $this->createTypeFromDocBlock($arg['type'], $className) + ); + }, $methodTag->getArguments()) + ); + $element->return = new FunctionReturn( + '', + $this->createTypeFromDocBlock($methodTag->getReturnType(), $className) + ); + + yield $element; + } + } + + /** + * @param string $className + * @param DocBlock $docBlock + * @return \Generator|PropertyElement[] + */ + private function createMagicProperties(string $className, DocBlock $docBlock): iterable + { + /** @var Property $tag */ + foreach ($docBlock->getTagsByName('property') as $tag) { + yield $this->createMagicProperty($className, $tag); + } + /** @var PropertyRead $tag */ + foreach ($docBlock->getTagsByName('property-read') as $tag) { + yield $this->createMagicProperty($className, $tag); + } + /** @var PropertyWrite $tag */ + foreach ($docBlock->getTagsByName('property-write') as $tag) { + yield $this->createMagicProperty($className, $tag); + } + } + + /** + * @param string $className + * @param Property|PropertyRead|PropertyWrite $tag + * @return PropertyElement + */ + private function createMagicProperty(string $className, $tag): PropertyElement + { + $element = new PropertyElement(); + + $element->name = new Fqsen($className . '::$' . $tag->getVariableName()); + $element->summary = (string)$tag->getDescription(); + $element->description = ''; + $element->static = false; + $element->visibility = Visibility::public(); + $element->type = $this->createTypeFromDocBlock($tag->getType(), $className); + + return $element; + } +} diff --git a/src/Element/Factory/CompositeElementFactory.php b/src/Element/Factory/CompositeElementFactory.php new file mode 100644 index 0000000..80bb41f --- /dev/null +++ b/src/Element/Factory/CompositeElementFactory.php @@ -0,0 +1,66 @@ +factories = $factories; + } + + /** + * @inheritDoc + */ + public function supports(object $reflection): bool + { + foreach ($this->factories as $factory) { + if ($factory->supports($reflection)) { + return true; + } + } + + return false; + } + + /** + * @inheritDoc + */ + public function make(object $reflection): ElementInterface + { + foreach ($this->factories as $factory) { + if ($factory->supports($reflection)) { + $factory->setParent($this->parent ?? $this); + return $factory->make($reflection); + } + } + + throw GivenReflectionNotSupported::byElementFactory($reflection); + } + + /** + * @inheritDoc + */ + public function setParent(ElementFactoryInterface $parent): void + { + $this->parent = $parent; + } +} diff --git a/src/Element/Factory/ConstantElementFactory.php b/src/Element/Factory/ConstantElementFactory.php new file mode 100644 index 0000000..d8ef050 --- /dev/null +++ b/src/Element/Factory/ConstantElementFactory.php @@ -0,0 +1,83 @@ +docBlockResolver->resolve($reflection); + + if ($reflection instanceof ReflectionClassConstant) { + $element->name = new Fqsen($reflection->getDeclaringClass()->getName() . '::' . $reflection->getName()); + } else { + $element->name = new Fqsen($reflection->getName()); + } + $element->summary = $docBlock->getSummary(); + $element->description = $docBlock->getDescription(); + $element->value = new Value($reflection->getValue()); + $element->deprecated = $this->getDeprecated($docBlock); + $element->links = $element->links->merge($this->makeLinksFromDocBlock($docBlock)); + + /** @var Var_ $varTag */ + $varTag = $docBlock->getFirstTagByName('var'); + if ('' === $element->summary && null !== $varTag) { + $element->summary = trim((string)($varTag->getDescription() ?? '')); + } + + if ($reflection instanceof ReflectionClassConstant) { + if ($reflection->isPrivate()) { + $element->visibility = Visibility::private(); + } elseif ($reflection->isProtected()) { + $element->visibility = Visibility::protected(); + } else { + $element->visibility = Visibility::public(); + } + } else { + $element->visibility = Visibility::public(); + } + + $filename = $reflection instanceof ReflectionClassConstant + ? $reflection->getDeclaringClass()->getFileName() + : $reflection->getFileName(); + + if (null !== $filename) { + $element->location = $this->locationFactory->make( + $filename, + $reflection->getStartLine(), + $reflection->getStartColumn() + ); + $element->examples = $element->examples->merge( + $this->makeExamplesFromDocBlock($docBlock, $element->location) + ); + } + + return $element; + } +} diff --git a/src/Element/Factory/ElementFactoryInterface.php b/src/Element/Factory/ElementFactoryInterface.php new file mode 100644 index 0000000..0ecd078 --- /dev/null +++ b/src/Element/Factory/ElementFactoryInterface.php @@ -0,0 +1,30 @@ +createElement($reflection); + + $docBlock = $this->docBlockResolver->resolve($reflection); + + if ($reflection instanceof ReflectionMethod) { + $element->name = new Fqsen($reflection->getDeclaringClass()->getName() . '::' . $reflection->getName()); + } else { + $element->name = new Fqsen($reflection->getName()); + } + + $element->summary = $docBlock->getSummary(); + $element->description = $docBlock->getDescription(); + $element->deprecated = $this->getDeprecated($docBlock); + $element->links = $element->links->merge($this->makeLinksFromDocBlock($docBlock)); + + if ($reflection instanceof ReflectionMethod) { + $element->static = $reflection->isStatic(); + $element->abstract = $reflection->isAbstract(); + $element->final = $reflection->isFinal(); + + if ($reflection->isPrivate()) { + $element->visibility = Visibility::private(); + } elseif ($reflection->isProtected()) { + $element->visibility = Visibility::protected(); + } else { + $element->visibility = Visibility::public(); + } + } + + $element->parameters = $element->parameters->merge($this->createParameters($reflection, $docBlock)); + $element->return = $this->createReturn($reflection, $docBlock); + $element->throws = $element->throws->merge($this->createThrows($docBlock)); + + if ($reflection instanceof ReflectionMethod && null !== $reflection->getDeclaringClass()->getFileName()) { + $element->location = $this->locationFactory->make( + $reflection->getDeclaringClass()->getFileName(), + $reflection->getStartLine(), + $reflection->getStartColumn() + ); + } elseif (null !== $reflection->getFileName()) { + $element->location = $this->locationFactory->make( + $reflection->getFileName(), + $reflection->getStartLine(), + $reflection->getStartColumn() + ); + } + + if (null !== $element->location) { + $element->examples = $element->examples->merge( + $this->makeExamplesFromDocBlock($docBlock, $element->location) + ); + } + + return $element; + } + + /** + * @param ReflectionFunctionAbstract $reflection + * @param DocBlock $docBlock + * @return FunctionParameter[] + */ + private function createParameters(ReflectionFunctionAbstract $reflection, DocBlock $docBlock): iterable + { + $paramTags = (new Collection($docBlock->getTagsByName('param'))) + ->indexBy(function (Param $param) { + return $param->getVariableName(); + }); + + /** @var ReflectionParameter $parameter */ + foreach ($reflection->getParameters() as $parameter) { + $defaultValue = $parameter->isDefaultValueAvailable() + ? new Value($parameter->getDefaultValue()) + : null; + + $paramTag = $paramTags[$parameter->getName()] ?? null; + + yield new FunctionParameter( + $parameter->getName(), + $paramTag ? (string)$paramTag->getDescription() : '', + $this->typeResolver->resolve($parameter, $docBlock), + $parameter->isVariadic(), + $parameter->isPassedByReference(), + $defaultValue + ); + } + } + + private function createReturn(ReflectionFunctionAbstract $reflection, DocBlock $docBlock): ?FunctionReturn + { + $returnType = $this->typeResolver->resolve($reflection, $docBlock); + /** @var Return_|null $returnTag */ + $returnTag = $docBlock->getFirstTagByName('return'); + + if (null === $returnType && null === $returnTag) { + return null; + } + + return new FunctionReturn($returnTag ? (string)$returnTag->getDescription() : '', $returnType); + } + + /** + * @param DocBlock $docBlock + * @return FunctionThrows[] + */ + private function createThrows(DocBlock $docBlock): iterable + { + /** @var Throws $tag */ + foreach ($docBlock->getTagsByName('throws') as $tag) { + yield new FunctionThrows((string)$tag->getDescription(), $this->createTypeFromDocBlock($tag->getType())); + } + } +} diff --git a/src/Element/Factory/MemoizedElementFactory.php b/src/Element/Factory/MemoizedElementFactory.php new file mode 100644 index 0000000..d428506 --- /dev/null +++ b/src/Element/Factory/MemoizedElementFactory.php @@ -0,0 +1,57 @@ +|bool[] + */ + private $supportsCache; + /** + * @var \SplObjectStorage|ElementInterface[] + */ + private $makeCache; + + public function __construct(ElementFactoryInterface $factory) + { + $factory->setParent($this); + $this->factory = $factory; + $this->supportsCache = new \SplObjectStorage(); + $this->makeCache = new \SplObjectStorage(); + } + + /** + * @inheritDoc + */ + public function supports(object $reflection): bool + { + return $this->supportsCache[$reflection] + ?? $this->supportsCache[$reflection] = $this->factory->supports($reflection); + } + + /** + * @inheritDoc + */ + public function make(object $reflection): ElementInterface + { + return $this->makeCache[$reflection] + ?? $this->makeCache[$reflection] = $this->factory->make($reflection); + } + + /** + * @inheritDoc + */ + public function setParent(ElementFactoryInterface $factory): void + { + $this->factory->setParent($factory); + } +} diff --git a/src/Element/Factory/PropertyElementFactory.php b/src/Element/Factory/PropertyElementFactory.php new file mode 100644 index 0000000..2b00657 --- /dev/null +++ b/src/Element/Factory/PropertyElementFactory.php @@ -0,0 +1,69 @@ +docBlockResolver->resolve($reflection); + + $element->name = new Fqsen($reflection->getDeclaringClass()->getName() . '::$' . $reflection->getName()); + $element->summary = $docBlock->getSummary(); + $element->description = $docBlock->getDescription(); + $element->static = $reflection->isStatic(); + $element->deprecated = $this->getDeprecated($docBlock); + $element->links = $element->links->merge($this->makeLinksFromDocBlock($docBlock)); + + if ($reflection->isPrivate()) { + $element->visibility = Visibility::private(); + } elseif ($reflection->isProtected()) { + $element->visibility = Visibility::protected(); + } else { + $element->visibility = Visibility::public(); + } + + $element->type = $this->typeResolver->resolve($reflection, $docBlock); + + if (null !== $defaultValue = $reflection->getDefaultValue()) { + $element->defaultValue = new Value($defaultValue); + } + + if (null !== $reflection->getDeclaringClass()->getFileName()) { + $element->location = $this->locationFactory->make( + $reflection->getDeclaringClass()->getFileName(), + $reflection->getStartLine(), + $reflection->getStartColumn() + ); + $element->examples = $element->examples->merge( + $this->makeExamplesFromDocBlock($docBlock, $element->location) + ); + } + + return $element; + } +} diff --git a/src/Element/FunctionElement.php b/src/Element/FunctionElement.php new file mode 100644 index 0000000..9ba5f08 --- /dev/null +++ b/src/Element/FunctionElement.php @@ -0,0 +1,40 @@ +|FunctionParameter[] + */ + public $parameters; + /** + * @var FunctionReturn|null + */ + public $return; + /** + * @var CollectionInterface|FunctionThrows[] + */ + public $throws; + + protected function init(): void + { + $this->parameters = new TypedCollection( + new IndexedCollection([], static function (FunctionParameter $argument): string { + return $argument->getName(); + }), + new InstanceOfType(FunctionParameter::class) + ); + $this->throws = new TypedCollection([], new InstanceOfType(FunctionThrows::class)); + } +} diff --git a/src/Element/FunctionsAggregate.php b/src/Element/FunctionsAggregate.php new file mode 100644 index 0000000..2058d91 --- /dev/null +++ b/src/Element/FunctionsAggregate.php @@ -0,0 +1,56 @@ + + * @package spaceonfire\ApiDoc\Element + */ +final class FunctionsAggregate implements ElementInterface, \IteratorAggregate, \Countable +{ + /** + * @var Fqsen + */ + private $fqsen; + /** + * @var FunctionElement[] + */ + private $functionElements; + + public function __construct(FunctionElement ...$functionElements) + { + $this->fqsen = new Fqsen('functions'); + $this->functionElements = $functionElements; + } + + /** + * Getter for `fqsen` property. + * @return Fqsen + */ + public function getFqsen(): Fqsen + { + return $this->fqsen; + } + + /** + * @inheritDoc + * @return \ArrayIterator|FunctionElement[] + */ + public function getIterator() + { + return new \ArrayIterator($this->functionElements); + } + + /** + * @inheritDoc + */ + public function count(): int + { + return count($this->functionElements); + } +} diff --git a/src/Element/InterfaceElement.php b/src/Element/InterfaceElement.php new file mode 100644 index 0000000..6b6ee3a --- /dev/null +++ b/src/Element/InterfaceElement.php @@ -0,0 +1,68 @@ +|ConstantElement[] + */ + public $constants; + /** + * @var CollectionInterface|MethodElement[] + */ + public $methods; + /** + * @var CollectionInterface|PropertyElement[] + */ + public $magicProperties; + /** + * @var CollectionInterface|MethodElement[] + */ + public $magicMethods; + /** + * @var CollectionInterface|self[] + */ + public $parents; + + protected function init(): void + { + $this->constants = new TypedCollection( + new IndexedCollection([], static function (ConstantElement $constantElement): string { + return $constantElement->name->getShortName(); + }), + new InstanceOfType(ConstantElement::class) + ); + $this->methods = new TypedCollection( + new IndexedCollection([], static function (MethodElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(MethodElement::class) + ); + $this->magicProperties = new TypedCollection( + new IndexedCollection([], static function (PropertyElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(PropertyElement::class) + ); + $this->magicMethods = new TypedCollection( + new IndexedCollection([], static function (MethodElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(MethodElement::class) + ); + $this->parents = new TypedCollection( + new IndexedCollection([], static function (self $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(self::class) + ); + } +} diff --git a/src/Element/Link/AnchorGenerator.php b/src/Element/Link/AnchorGenerator.php new file mode 100644 index 0000000..fa2180c --- /dev/null +++ b/src/Element/Link/AnchorGenerator.php @@ -0,0 +1,19 @@ +getName()); + $parts = array_filter(array_map('trim', $parts)); + return (new Convert(implode('_', $parts)))->toSnake(); + } +} diff --git a/src/Element/Link/CompositeLinkResolver.php b/src/Element/Link/CompositeLinkResolver.php new file mode 100644 index 0000000..67c9d01 --- /dev/null +++ b/src/Element/Link/CompositeLinkResolver.php @@ -0,0 +1,53 @@ +resolvers = $resolvers; + } + + /** + * @inheritDoc + */ + public function supports(LinkInterface $link): bool + { + foreach ($this->resolvers as $resolver) { + if ($resolver->supports($link)) { + return true; + } + } + + return false; + } + + /** + * @inheritDoc + */ + public function resolve(LinkInterface $link, $from = null): UriInterface + { + foreach ($this->resolvers as $resolver) { + if ($resolver->supports($link)) { + return $resolver->resolve($link, $from); + } + } + + throw new \UnexpectedValueException('Cannot resolve link'); + } +} diff --git a/src/Element/Link/ExternalLinkResolver.php b/src/Element/Link/ExternalLinkResolver.php new file mode 100644 index 0000000..69dced0 --- /dev/null +++ b/src/Element/Link/ExternalLinkResolver.php @@ -0,0 +1,29 @@ +getTarget(); + } +} diff --git a/src/Element/Link/FqsenLinkResolver.php b/src/Element/Link/FqsenLinkResolver.php new file mode 100644 index 0000000..3758a75 --- /dev/null +++ b/src/Element/Link/FqsenLinkResolver.php @@ -0,0 +1,91 @@ +fileNameStrategy = $fileNameStrategy; + $this->anchorGenerator = new AnchorGenerator(); + $this->filesystem = new Filesystem(); + } + + /** + * @inheritDoc + */ + public function supports(LinkInterface $link): bool + { + return $link instanceof FqsenLink; + } + + /** + * @inheritDoc + * @param FqsenLink $link + */ + public function resolve(LinkInterface $link, $from = null): UriInterface + { + $from = $this->prepareFrom($from); + + $anchor = ($this->anchorGenerator)($link->getTarget()); + + $fromFilename = $this->fileNameStrategy->generate($from); + $targetFilename = $this->fileNameStrategy->generate($link->getTarget()->getClassName()); + + if ($fromFilename === $targetFilename) { + return new Uri('#' . $anchor); + } + + $relative = $this->filesystem->makePathRelative( + '/' . dirname($targetFilename) . '/', + '/' . dirname($fromFilename) . '/' + ); + + return new Uri(sprintf('%s#%s', rtrim($relative, '/\\') . '/' . basename($targetFilename), $anchor)); + } + + /** + * @param mixed $from + * @return Fqsen + */ + private function prepareFrom($from): Fqsen + { + if ($from instanceof ElementInterface) { + return $from->name; + } + + if ($from instanceof FqsenLink) { + return $from->getTarget(); + } + + if ($from instanceof Fqsen) { + return $from; + } + + throw new \UnexpectedValueException(''); + } +} diff --git a/src/Element/Link/LinkResolverInterface.php b/src/Element/Link/LinkResolverInterface.php new file mode 100644 index 0000000..734325d --- /dev/null +++ b/src/Element/Link/LinkResolverInterface.php @@ -0,0 +1,24 @@ +absolutePath = $absolutePath; + $this->filename = $filename; + $this->lineNumber = $lineNumber; + $this->columnNumber = $columnNumber; + } + + /** + * Getter for `absolutePath` property. + * @return string + */ + public function getAbsolutePath(): string + { + return $this->absolutePath; + } + + /** + * Getter for `filename` property. + * @return string + */ + public function getFilename(): string + { + return $this->filename; + } + + /** + * Getter for `lineNumber` property. + * @return int + */ + public function getLineNumber(): int + { + return $this->lineNumber; + } + + /** + * Getter for `columnNumber` property. + * @return int + */ + public function getColumnNumber(): int + { + return $this->columnNumber; + } +} diff --git a/src/Element/Location/LocationFactory.php b/src/Element/Location/LocationFactory.php new file mode 100644 index 0000000..01ab05b --- /dev/null +++ b/src/Element/Location/LocationFactory.php @@ -0,0 +1,45 @@ +sourceDirectories = $sourceDirectories; + } + + public function make(string $absolutePath, int $lineNumber, int $columnNumber = 0): Location + { + $relativeFilename = $this->getRelativeFilename($absolutePath); + + return new Location($absolutePath, $relativeFilename ?? $absolutePath, $lineNumber, $columnNumber); + } + + private function getRelativeFilename(string $absolutePath): ?string + { + foreach ($this->sourceDirectories as $directory) { + if (!str_starts_with($absolutePath, $directory)) { + continue; + } + + return ltrim(str_replace($this->sourceDirectories, '', $absolutePath), '/\\'); + } + + return null; + } +} diff --git a/src/Element/MethodElement.php b/src/Element/MethodElement.php new file mode 100644 index 0000000..b968bce --- /dev/null +++ b/src/Element/MethodElement.php @@ -0,0 +1,57 @@ +|FunctionParameter[] + */ + public $parameters; + /** + * @var FunctionReturn|null + */ + public $return; + /** + * @var CollectionInterface|FunctionThrows[] + */ + public $throws; + + protected function init(): void + { + $this->parameters = new TypedCollection( + new IndexedCollection([], static function (FunctionParameter $argument): string { + return $argument->getName(); + }), + new InstanceOfType(FunctionParameter::class) + ); + $this->throws = new TypedCollection([], new InstanceOfType(FunctionThrows::class)); + } +} diff --git a/src/Element/PropertyElement.php b/src/Element/PropertyElement.php new file mode 100644 index 0000000..d35713c --- /dev/null +++ b/src/Element/PropertyElement.php @@ -0,0 +1,29 @@ +renderers = $renderers; + } + + /** + * @inheritDoc + */ + public function supports(ElementInterface $element): bool + { + foreach ($this->renderers as $renderer) { + if ($renderer->supports($element)) { + return true; + } + } + + return false; + } + + /** + * @inheritDoc + */ + public function render(ElementInterface $element): CodeSnippet + { + foreach ($this->renderers as $renderer) { + if ($renderer->supports($element)) { + return $renderer->render($element); + } + } + + throw new \UnexpectedValueException(sprintf('Cannot render element "%s"', get_class($element))); + } +} diff --git a/src/Element/Signature/ConstantSignatureRenderer.php b/src/Element/Signature/ConstantSignatureRenderer.php new file mode 100644 index 0000000..5666e3d --- /dev/null +++ b/src/Element/Signature/ConstantSignatureRenderer.php @@ -0,0 +1,36 @@ +visibility; + $parts[] = 'const'; + $parts[] = $element->name->withoutClassName(); + $parts[] = '='; + $parts[] = VarExporter::export($element->value->getValue()); + return new CodeSnippet(implode(' ', $parts), 'php'); + } +} diff --git a/src/Element/Signature/FunctionLikeElementSignatureRenderer.php b/src/Element/Signature/FunctionLikeElementSignatureRenderer.php new file mode 100644 index 0000000..dad0e7b --- /dev/null +++ b/src/Element/Signature/FunctionLikeElementSignatureRenderer.php @@ -0,0 +1,90 @@ +final) { + $parts[] = 'final'; + } elseif ($element->abstract) { + $parts[] = 'abstract'; + } + + $parts[] = $element->visibility; + + if ($element->static) { + $parts[] = 'static'; + } + } + + $parts[] = 'function'; + + $methodArguments = (new Collection($element->parameters)) + ->map(function (FunctionParameter $argument) { + $signature = []; + + $signature[] = $argument->getType(); + + $name = []; + + if ($argument->isVariadic()) { + $name[] = '...'; + } + + if ($argument->isPassedByReference()) { + $name[] = '&'; + } + + $name[] = '$' . $argument->getName(); + + $signature[] = implode($name); + + if (null !== $argument->getDefaultValue()) { + $signature[] = '='; + $signature[] = VarExporter::export($argument->getDefaultValue()->getValue()); + } + + return implode(' ', $signature); + }) + ->implode(', '); + + $parts[] = sprintf( + '%s(%s)%s', + $element instanceof MethodElement + ? $element->name->withoutClassName() + : $element->name->getShortName(), + $methodArguments, + $element->return && $element->return->getType() ? ': ' . $element->return->getType() : '' + ); + + return new CodeSnippet(implode(' ', $parts), 'php'); + } +} diff --git a/src/Element/Signature/PropertySignatureRenderer.php b/src/Element/Signature/PropertySignatureRenderer.php new file mode 100644 index 0000000..e628640 --- /dev/null +++ b/src/Element/Signature/PropertySignatureRenderer.php @@ -0,0 +1,49 @@ +visibility; + + if ($element->static) { + $parts[] = 'static'; + } + + if (null !== $element->type) { + $parts[] = $element->type; + } + + $parts[] = $element->name->withoutClassName(); + + if (null !== $element->defaultValue) { + $parts[] = '='; + $parts[] = VarExporter::export($element->defaultValue->getValue()); + } + + return new CodeSnippet(implode(' ', $parts), 'php'); + } +} diff --git a/src/Element/Signature/SignatureRendererInterface.php b/src/Element/Signature/SignatureRendererInterface.php new file mode 100644 index 0000000..2e2220c --- /dev/null +++ b/src/Element/Signature/SignatureRendererInterface.php @@ -0,0 +1,23 @@ +> + * @package spaceonfire\ApiDoc\Element + */ +final class TableOfContentsElement implements ElementInterface, \IteratorAggregate +{ + /** + * @var Fqsen + */ + private $fqsen; + /** + * @var CollectionInterface|ElementInterface[] + */ + private $elements; + + /** + * TableOfContentsElement constructor. + * @param ElementInterface ...$elements + */ + public function __construct(ElementInterface ...$elements) + { + $this->fqsen = new Fqsen('README'); + $this->elements = (new Collection($elements)) + ->sortBy(function (ElementInterface $element) { + return $element->name->getName(); + }, SORT_ASC, SORT_STRING); + } + + /** + * Getter for `fqsen` property. + * @return Fqsen + */ + public function getFqsen(): Fqsen + { + return $this->fqsen; + } + + /** + * @inheritDoc + * @return \Generator> + */ + public function getIterator(): \Generator + { + $elementsPerNamespace = []; + + foreach ($this->elements as $element) { + $namespace = $element->name->getNamespace(); + + if (!isset($elementsPerNamespace[$namespace])) { + $elementsPerNamespace[$namespace] = new Collection(); + } + + $elementsPerNamespace[$namespace][] = $element; + } + + /** + * @var string $namespace + * @var CollectionInterface $elements + */ + foreach ($elementsPerNamespace as $namespace => $elements) { + yield $namespace => $elements + ->groupBy(function (ElementInterface $element) { + if ($element instanceof TraitElement) { + return 'Traits'; + } + + if ($element instanceof InterfaceElement) { + return 'Interfaces'; + } + + return 'Classes'; + }) + ->sortByKey(SORT_ASC, SORT_STRING) + ->map(function (CollectionInterface $items) { + return $items->map(function (ElementInterface $element) { + return new FqsenLink($element->name); + }); + }); + } + } +} diff --git a/src/Element/TraitElement.php b/src/Element/TraitElement.php new file mode 100644 index 0000000..04e9eb8 --- /dev/null +++ b/src/Element/TraitElement.php @@ -0,0 +1,68 @@ +|PropertyElement[] + */ + public $properties; + /** + * @var CollectionInterface|MethodElement[] + */ + public $methods; + /** + * @var CollectionInterface|PropertyElement[] + */ + public $magicProperties; + /** + * @var CollectionInterface|MethodElement[] + */ + public $magicMethods; + /** + * @var CollectionInterface|self[] + */ + public $parents; + + protected function init(): void + { + $this->properties = new TypedCollection( + new IndexedCollection([], static function (PropertyElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(PropertyElement::class) + ); + $this->methods = new TypedCollection( + new IndexedCollection([], static function (MethodElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(MethodElement::class) + ); + $this->magicProperties = new TypedCollection( + new IndexedCollection([], static function (PropertyElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(PropertyElement::class) + ); + $this->magicMethods = new TypedCollection( + new IndexedCollection([], static function (MethodElement $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(MethodElement::class) + ); + $this->parents = new TypedCollection( + new IndexedCollection([], static function (self $propertyElement): string { + return $propertyElement->name->getShortName(); + }), + new InstanceOfType(self::class) + ); + } +} diff --git a/src/Element/Type/BetterReflectionInstanceOfType.php b/src/Element/Type/BetterReflectionInstanceOfType.php new file mode 100644 index 0000000..d7457e5 --- /dev/null +++ b/src/Element/Type/BetterReflectionInstanceOfType.php @@ -0,0 +1,42 @@ +reflectionClass = $reflectionClass; + } + + /** + * @inheritDoc + */ + public function check($_): bool + { + throw new RuntimeException(self::class . ' type cannot be checked'); + } + + /** + * @inheritDoc + */ + public function __toString(): string + { + return $this->reflectionClass->getName(); + } +} diff --git a/src/Element/Type/Converter/PhpDocTypeConverter.php b/src/Element/Type/Converter/PhpDocTypeConverter.php new file mode 100644 index 0000000..192d6c4 --- /dev/null +++ b/src/Element/Type/Converter/PhpDocTypeConverter.php @@ -0,0 +1,168 @@ +typeFactory = $typeFactory; + } + + public function __invoke( + PhpDocumentorType $type, + ?Type $selfReplacement = null, + ?Type $parentReplacement = null + ): ?Type { + return $this->convert($type, $selfReplacement, $parentReplacement); + } + + public function convert( + PhpDocumentorType $type, + ?Type $selfReplacement = null, + ?Type $parentReplacement = null + ): ?Type { + if ($type instanceof Compound) { + $items = []; + foreach ($type as $subType) { + $t = $this->convert($subType, $selfReplacement, $parentReplacement); + $items[(string)$t] = $t; + } + $items = array_values(array_filter($items)); + + if (count($items) > 1) { + return new DisjunctionType($items); + } + + if (1 === count($items)) { + return $items[0]; + } + + throw new TypeCannotBeConverted($type); + } + + if ($type instanceof Intersection) { + $items = []; + foreach ($type as $subType) { + $t = $this->convert($subType, $selfReplacement, $parentReplacement); + $items[(string)$t] = $t; + } + $items = array_values(array_filter($items)); + + if (count($items) > 1) { + return new ConjunctionType($items); + } + + if (1 === count($items)) { + return $items[0]; + } + + throw new TypeCannotBeConverted($type); + } + + if ($type instanceof AbstractList) { + $valueType = $this->convert($type->getValueType(), $selfReplacement, $parentReplacement); + + if (null === $valueType) { + throw new TypeCannotBeConverted($type); + } + + $keyType = (function () { + if (property_exists($this, 'keyType')) { + return $this->keyType; + } + + /** @var AbstractList $this */ + return $this->getKeyType(); + })->call($type); + $keyType = $keyType ? $this->convert($keyType, $selfReplacement, $parentReplacement) : null; + + if ($type instanceof Array_) { + $iterableType = new BuiltinType(BuiltinType::ARRAY); + } elseif ($type instanceof Iterable_) { + $iterableType = new BuiltinType(BuiltinType::ITERABLE); + } elseif ($type instanceof Collection) { + if (null !== $type->getFqsen() && $this->typeFactory->supports((string)$type->getFqsen())) { + $iterableType = $this->typeFactory->make((string)$type->getFqsen()); + } + } + + return new CollectionType($valueType, $keyType, $iterableType ?? null); + } + + if ($type instanceof Nullable) { + $actualType = $this->convert($type->getActualType(), $selfReplacement, $parentReplacement); + + if (null === $actualType) { + throw new TypeCannotBeConverted($type); + } + + return new DisjunctionType([ + $actualType, + new BuiltinType(BuiltinType::NULL), + ]); + } + + if ($type instanceof ClassString) { + return new BuiltinType(BuiltinType::STRING); + } + + if ( + $type instanceof \phpDocumentor\Reflection\Types\This || + $type instanceof Self_ || + $type instanceof Static_ + ) { + if (null === $selfReplacement) { + throw new TypeCannotBeConverted($type); + } + + return $selfReplacement; + } + + if ($type instanceof Parent_) { + if (null === $parentReplacement) { + throw new TypeCannotBeConverted($type); + } + + return $parentReplacement; + } + + if ($type instanceof PseudoType) { + $type = $type->underlyingType(); + } + + if (!$this->typeFactory->supports((string)$type)) { + return null; + } + + return $this->typeFactory->make((string)$type); + } +} diff --git a/src/Element/Type/Converter/ReflectionTypeConverter.php b/src/Element/Type/Converter/ReflectionTypeConverter.php new file mode 100644 index 0000000..9a1fd56 --- /dev/null +++ b/src/Element/Type/Converter/ReflectionTypeConverter.php @@ -0,0 +1,63 @@ +typeFactory = $typeFactory; + } + + public function __invoke( + ReflectionType $type, + ?Type $selfReplacement = null, + ?Type $parentReplacement = null + ): ?Type { + $output = null; + + switch ($type->getName()) { + case 'self': + case 'static': + case '$this': + $output = $selfReplacement; + break; + + case 'parent': + $output = $parentReplacement; + break; + + default: + if ($this->typeFactory->supports($type->getName())) { + $output = $this->typeFactory->make($type->getName()); + } + break; + } + + if (null === $output) { + return null; + } + + if ($type->allowsNull()) { + return new DisjunctionType([ + $output, + new BuiltinType(BuiltinType::NULL), + ]); + } + + return $output; + } +} diff --git a/src/Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.php b/src/Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.php new file mode 100644 index 0000000..79ee787 --- /dev/null +++ b/src/Element/Type/Factory/BetterReflectionInstanceOfTypeFactory.php @@ -0,0 +1,58 @@ +reflector = $reflector; + } + + /** + * @inheritDoc + */ + public function supports(string $type): bool + { + try { + $this->reflector->reflect($type); + return true; + } catch (IdentifierNotFound $e) { + return false; + } + } + + /** + * @inheritDoc + */ + public function make(string $type): Type + { + if (!$this->supports($type)) { + throw new TypeNotSupportedException($type, BetterReflectionInstanceOfType::class); + } + + $reflectionClass = $this->reflector->reflect($type); + return new BetterReflectionInstanceOfType($reflectionClass); + } +} diff --git a/src/Element/Type/Factory/BetterReflectionParentFactory.php b/src/Element/Type/Factory/BetterReflectionParentFactory.php new file mode 100644 index 0000000..6215ee6 --- /dev/null +++ b/src/Element/Type/Factory/BetterReflectionParentFactory.php @@ -0,0 +1,68 @@ +reflector = $reflector; + } + + /** + * @inheritDoc + */ + public function supports(string $type): bool + { + if (!str_starts_with($type, 'parent:')) { + return false; + } + + $className = substr($type, 7); + + try { + $classReflection = $this->reflector->reflect($className); + return null !== $classReflection->getParentClass(); + } catch (IdentifierNotFound $e) { + return false; + } + } + + /** + * @inheritDoc + */ + public function make(string $type): Type + { + if (!$this->supports($type)) { + throw new TypeNotSupportedException($type); + } + + $className = substr($type, 7); + $classReflection = $this->reflector->reflect($className); + /** @var ReflectionClass $parentClassReflection */ + $parentClassReflection = $classReflection->getParentClass(); + return new BetterReflectionInstanceOfType($parentClassReflection); + } +} diff --git a/src/Element/Type/Resolver/AbstractTypeResolver.php b/src/Element/Type/Resolver/AbstractTypeResolver.php new file mode 100644 index 0000000..b8d7448 --- /dev/null +++ b/src/Element/Type/Resolver/AbstractTypeResolver.php @@ -0,0 +1,58 @@ +typeFactory = $typeFactory; + $this->phpDocTypeConverter = new PhpDocTypeConverter($typeFactory); + $this->reflectionTypeConverter = new ReflectionTypeConverter($typeFactory); + } + + /** + * @inheritDoc + */ + final public function resolve(object $reflection, DocBlock $docBlock): ?Type + { + if (!$this->supports($reflection)) { + throw GivenReflectionNotSupported::forReason($reflection); + } + + return $this->doResolve($reflection, $docBlock); + } + + /** + * @param object $reflection + * @param DocBlock $docBlock + * @return Type|null + */ + abstract protected function doResolve(object $reflection, DocBlock $docBlock): ?Type; +} diff --git a/src/Element/Type/Resolver/ArgumentTypeResolver.php b/src/Element/Type/Resolver/ArgumentTypeResolver.php new file mode 100644 index 0000000..015a187 --- /dev/null +++ b/src/Element/Type/Resolver/ArgumentTypeResolver.php @@ -0,0 +1,82 @@ +getDeclaringClass(); + $parentClass = $declaringClass ? $declaringClass->getParentClass() : null; + + if (null !== $declaringClass && $this->typeFactory->supports($declaringClass->getName())) { + $selfReplacement = $this->typeFactory->make($declaringClass->getName()); + } else { + $selfReplacement = null; + } + + if (null !== $parentClass && $this->typeFactory->supports($parentClass->getName())) { + $parentReplacement = $this->typeFactory->make($parentClass->getName()); + } else { + $parentReplacement = null; + } + + $output = []; + + /** @var Param[] $paramTags */ + $paramTags = (new Collection($docBlock->getTagsByName('param'))) + ->indexBy(function (Param $param) { + return $param->getVariableName(); + }); + + $paramTag = $paramTags[$reflection->getName()] ?? null; + + if ( + (null !== $paramTag) && + (null !== $phpDocType = $paramTag->getType()) && + (null !== $t = ($this->phpDocTypeConverter)($phpDocType, $selfReplacement, $parentReplacement)) + ) { + $output[(string)$t] = $t; + } + + if ( + (null !== $reflectionType = $reflection->getType()) && + (null !== $t = ($this->reflectionTypeConverter)($reflectionType, $selfReplacement, $parentReplacement)) + ) { + $output[(string)$t] = $t; + } + + $output = array_values($output); + + if (0 === count($output)) { + return null; + } + + if (1 === count($output)) { + return $output[0]; + } + + return new DisjunctionType($output); + } +} diff --git a/src/Element/Type/Resolver/CompositeTypeResolver.php b/src/Element/Type/Resolver/CompositeTypeResolver.php new file mode 100644 index 0000000..5d97408 --- /dev/null +++ b/src/Element/Type/Resolver/CompositeTypeResolver.php @@ -0,0 +1,54 @@ +resolvers = $resolvers; + } + + /** + * @inheritDoc + */ + public function supports(object $reflection): bool + { + foreach ($this->resolvers as $resolver) { + if ($resolver->supports($reflection)) { + return true; + } + } + + return false; + } + + /** + * @inheritDoc + */ + public function resolve(object $reflection, DocBlock $docBlock): ?Type + { + foreach ($this->resolvers as $resolver) { + if ($resolver->supports($reflection)) { + return $resolver->resolve($reflection, $docBlock); + } + } + + throw GivenReflectionNotSupported::forReason($reflection); + } +} diff --git a/src/Element/Type/Resolver/FunctionReturnTypeResolver.php b/src/Element/Type/Resolver/FunctionReturnTypeResolver.php new file mode 100644 index 0000000..bdc5efe --- /dev/null +++ b/src/Element/Type/Resolver/FunctionReturnTypeResolver.php @@ -0,0 +1,78 @@ +getDeclaringClass(); + $parentClass = $declaringClass->getParentClass(); + + if ($this->typeFactory->supports($declaringClass->getName())) { + $selfReplacement = $this->typeFactory->make($declaringClass->getName()); + } + + if (null !== $parentClass && $this->typeFactory->supports($parentClass->getName())) { + $parentReplacement = $this->typeFactory->make($parentClass->getName()); + } + } + + $selfReplacement = $selfReplacement ?? null; + $parentReplacement = $parentReplacement ?? null; + + $output = []; + + /** @var Return_ $returnTag */ + $returnTag = $docBlock->getFirstTagByName('return'); + + if ( + (null !== $returnTag) && + (null !== $phpDocType = $returnTag->getType()) && + (null !== $t = ($this->phpDocTypeConverter)($phpDocType, $selfReplacement, $parentReplacement)) + ) { + $output[(string)$t] = $t; + } + + if ( + (null !== $reflectionType = $reflection->getReturnType()) && + (null !== $t = ($this->reflectionTypeConverter)($reflectionType, $selfReplacement, $parentReplacement)) + ) { + $output[(string)$t] = $t; + } + + $output = array_values($output); + + if (0 === count($output)) { + return null; + } + + if (1 === count($output)) { + return $output[0]; + } + + return new DisjunctionType($output); + } +} diff --git a/src/Element/Type/Resolver/MemoizedTypeResolver.php b/src/Element/Type/Resolver/MemoizedTypeResolver.php new file mode 100644 index 0000000..ff2e027 --- /dev/null +++ b/src/Element/Type/Resolver/MemoizedTypeResolver.php @@ -0,0 +1,49 @@ +|bool[] + */ + private $supportsCache; + /** + * @var \SplObjectStorage|Type[] + */ + private $resolvedCache; + + public function __construct(TypeResolverInterface $resolver) + { + $this->resolver = $resolver; + $this->supportsCache = new \SplObjectStorage(); + $this->resolvedCache = new \SplObjectStorage(); + } + + /** + * @inheritDoc + */ + public function supports(object $reflection): bool + { + return $this->supportsCache[$reflection] + ?? $this->supportsCache[$reflection] = $this->resolver->supports($reflection); + } + + /** + * @inheritDoc + */ + public function resolve(object $reflection, DocBlock $docBlock): ?Type + { + return $this->resolvedCache[$reflection] + ?? $this->resolvedCache[$reflection] = $this->resolver->resolve($reflection, $docBlock); + } +} diff --git a/src/Element/Type/Resolver/PropertyTypeResolver.php b/src/Element/Type/Resolver/PropertyTypeResolver.php new file mode 100644 index 0000000..9dc3faa --- /dev/null +++ b/src/Element/Type/Resolver/PropertyTypeResolver.php @@ -0,0 +1,76 @@ +getDeclaringClass(); + $parentClass = $declaringClass->getParentClass(); + + if ($this->typeFactory->supports($declaringClass->getName())) { + $selfReplacement = $this->typeFactory->make($declaringClass->getName()); + } else { + $selfReplacement = null; + } + + if (null !== $parentClass && $this->typeFactory->supports($parentClass->getName())) { + $parentReplacement = $this->typeFactory->make($parentClass->getName()); + } else { + $parentReplacement = null; + } + + $output = []; + + /** @var Var_ $varTag */ + $varTag = $docBlock->getFirstTagByName('var'); + + if ( + (null !== $varTag) && + (null !== $phpDocType = $varTag->getType()) && + (null !== $t = ($this->phpDocTypeConverter)($phpDocType, $selfReplacement, $parentReplacement)) + ) { + $output[(string)$t] = $t; + } + + if ( + (null !== $reflectionType = $reflection->getType()) && + (null !== $t = ($this->reflectionTypeConverter)($reflectionType, $selfReplacement, $parentReplacement)) + ) { + $output[(string)$t] = $t; + } + + $output = array_values($output); + + if (0 === count($output)) { + return null; + } + + if (1 === count($output)) { + return $output[0]; + } + + return new DisjunctionType($output); + } +} diff --git a/src/Element/Type/Resolver/TypeResolverInterface.php b/src/Element/Type/Resolver/TypeResolverInterface.php new file mode 100644 index 0000000..e370fdb --- /dev/null +++ b/src/Element/Type/Resolver/TypeResolverInterface.php @@ -0,0 +1,26 @@ +description = $description; + $this->type = $type; + } + + /** + * Getter for `description` property. + * @return string + */ + public function getDescription(): string + { + return $this->description; + } + + /** + * Getter for `type` property. + * @return Type|null + */ + public function getType(): ?Type + { + return $this->type; + } +} diff --git a/src/Element/ValueObject/ClassMembersVisibilityFilter.php b/src/Element/ValueObject/ClassMembersVisibilityFilter.php new file mode 100644 index 0000000..778a7ac --- /dev/null +++ b/src/Element/ValueObject/ClassMembersVisibilityFilter.php @@ -0,0 +1,66 @@ +constantsVisibilityFilter = $constantsVisibilityFilter ?? $defaultVisibilityFilter; + $this->propertiesVisibilityFilter = $propertiesVisibilityFilter ?? $defaultVisibilityFilter; + $this->methodsVisibilityFilter = $methodsVisibilityFilter ?? $defaultVisibilityFilter; + } + + /** + * Getter for `constantsVisibilityFilter` property. + * @return VisibilityFilter + */ + public function forConstants(): VisibilityFilter + { + return $this->constantsVisibilityFilter; + } + + /** + * Getter for `propertiesVisibilityFilter` property. + * @return VisibilityFilter + */ + public function forProperties(): VisibilityFilter + { + return $this->propertiesVisibilityFilter; + } + + /** + * Getter for `methodsVisibilityFilter` property. + * @return VisibilityFilter + */ + public function forMethods(): VisibilityFilter + { + return $this->methodsVisibilityFilter; + } +} diff --git a/src/Element/ValueObject/CodeSnippet.php b/src/Element/ValueObject/CodeSnippet.php new file mode 100644 index 0000000..21a39a5 --- /dev/null +++ b/src/Element/ValueObject/CodeSnippet.php @@ -0,0 +1,54 @@ +content = $content; + $this->language = $language; + } + + /** + * Getter for `content` property. + * @return string + */ + public function getContent(): string + { + return $this->content; + } + + /** + * Getter for `language` property. + * @return string|null + */ + public function getLanguage(): ?string + { + return $this->language; + } + + /** + * @return string + */ + public function __toString(): string + { + return $this->content; + } +} diff --git a/src/Element/ValueObject/Example.php b/src/Element/ValueObject/Example.php new file mode 100644 index 0000000..a16c87e --- /dev/null +++ b/src/Element/ValueObject/Example.php @@ -0,0 +1,138 @@ +filePath = $filePath; + + try { + $uri = new Uri($filePath); + if (Uri::isAbsolute($uri)) { + $this->uri = $uri; + } + } catch (\InvalidArgumentException $e) { + // Ignore exception if file path cannot be parsed to uri + } + + $this->location = $location; + $this->startingLine = $startingLine; + $this->lineCount = $lineCount > 0 ? $lineCount : null; + $this->description = $description; + } + + /** + * Getter for `filePath` property. + * @return string + */ + public function getFilePath(): string + { + return $this->filePath; + } + + /** + * Getter for `uri` property. + * @return UriInterface|null + */ + public function getUri(): ?UriInterface + { + return $this->uri; + } + + /** + * Getter for `location` property. + * @return Location + */ + public function getLocation(): Location + { + return $this->location; + } + + /** + * Getter for `startingLine` property. + * @return int + */ + public function getStartingLine(): int + { + return $this->startingLine; + } + + /** + * Getter for `lineCount` property. + * @return int|null + */ + public function getLineCount(): ?int + { + return $this->lineCount; + } + + /** + * Getter for `description` property. + * @return string|null + */ + public function getDescription(): ?string + { + return $this->description; + } + + /** + * Resolve and cache code snippet for this example + * @param ExampleCodeSnippetResolver $resolver + * @return CodeSnippet + */ + public function resolveCodeSnippet(ExampleCodeSnippetResolver $resolver): CodeSnippet + { + return $this->codeSnippet ?? ($this->codeSnippet = $resolver->resolve($this)); + } +} diff --git a/src/Element/ValueObject/ExternalLink.php b/src/Element/ValueObject/ExternalLink.php new file mode 100644 index 0000000..02a0843 --- /dev/null +++ b/src/Element/ValueObject/ExternalLink.php @@ -0,0 +1,54 @@ +target = $target; + $this->description = $description; + } + + /** + * @inheritDoc + */ + public function getTarget(): UriInterface + { + return $this->target; + } + + /** + * @inheritDoc + */ + public function getText(): string + { + return (string)$this->target; + } + + /** + * @inheritDoc + */ + public function getDescription(): ?string + { + return $this->description; + } +} diff --git a/src/Element/ValueObject/Fqsen.php b/src/Element/ValueObject/Fqsen.php new file mode 100644 index 0000000..c5ad2fc --- /dev/null +++ b/src/Element/ValueObject/Fqsen.php @@ -0,0 +1,78 @@ +name = trim($fqsen, '()'); + + $this->prefixedWithClassName = 2 === count(explode('::', $this->name, 2)); + + [$shortName, $namespace] = array_map('strrev', explode('\\', strrev($this->name), 2)) + ['', '']; + + $this->shortName = $shortName; + $this->namespace = $namespace; + } + + public function __toString(): string + { + return $this->getName(); + } + + public function getName(): string + { + return $this->name; + } + + public function getShortName(): string + { + return $this->shortName; + } + + public function getNamespace(): string + { + return $this->namespace; + } + + public function getClassName(): self + { + if ('' === $withoutClassName = $this->withoutClassName()) { + return $this; + } + + $className = trim(str_replace($withoutClassName, '', $this->name), ':'); + return new self($className); + } + + public function isPrefixedWithClassName(): bool + { + return $this->prefixedWithClassName; + } + + public function withoutClassName(): string + { + $parts = explode('::', $this->name); + return count($parts) > 1 ? end($parts) : ''; + } +} diff --git a/src/Element/ValueObject/FqsenLink.php b/src/Element/ValueObject/FqsenLink.php new file mode 100644 index 0000000..d434b17 --- /dev/null +++ b/src/Element/ValueObject/FqsenLink.php @@ -0,0 +1,52 @@ +target = $target; + $this->description = $description; + } + + /** + * @inheritDoc + */ + public function getTarget(): Fqsen + { + return $this->target; + } + + /** + * @inheritDoc + */ + public function getText(): string + { + return (string)$this->target; + } + + /** + * @inheritDoc + */ + public function getDescription(): ?string + { + return $this->description; + } +} diff --git a/src/Element/ValueObject/FunctionParameter.php b/src/Element/ValueObject/FunctionParameter.php new file mode 100644 index 0000000..99287de --- /dev/null +++ b/src/Element/ValueObject/FunctionParameter.php @@ -0,0 +1,88 @@ +name = $name; + $this->variadic = $variadic; + $this->passedByReference = $passedByReference; + $this->defaultValue = $defaultValue; + } + + /** + * Getter for `name` property. + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * Getter for `variadic` property. + * @return bool + */ + public function isVariadic(): bool + { + return $this->variadic; + } + + /** + * Getter for `passedByReference` property. + * @return bool + */ + public function isPassedByReference(): bool + { + return $this->passedByReference; + } + + /** + * Getter for `defaultValue` property. + * @return Value|null + */ + public function getDefaultValue(): ?Value + { + return $this->defaultValue; + } +} diff --git a/src/Element/ValueObject/FunctionReturn.php b/src/Element/ValueObject/FunctionReturn.php new file mode 100644 index 0000000..2b41a7b --- /dev/null +++ b/src/Element/ValueObject/FunctionReturn.php @@ -0,0 +1,9 @@ +value = $value; + } + + /** + * Getter for `value` property. + * @return mixed + */ + public function getValue() + { + return $this->value; + } +} diff --git a/src/Element/ValueObject/Visibility.php b/src/Element/ValueObject/Visibility.php new file mode 100644 index 0000000..83cfdde --- /dev/null +++ b/src/Element/ValueObject/Visibility.php @@ -0,0 +1,21 @@ +|Visibility[] + */ + private $visibilities; + + public function __construct(Visibility ...$visibilities) + { + if (0 === count($visibilities)) { + $visibilities = [ + Visibility::public(), + Visibility::protected(), + Visibility::private(), + ]; + } + + $this->visibilities = (new Collection($visibilities)) + ->indexBy(function (Visibility $v) { + return $v->value(); + }); + } + + public function hasPublic(): bool + { + return isset($this->visibilities[Visibility::PUBLIC]); + } + + public function hasProtected(): bool + { + return isset($this->visibilities[Visibility::PROTECTED]); + } + + public function hasPrivate(): bool + { + return isset($this->visibilities[Visibility::PRIVATE]); + } +} diff --git a/src/Elements/ArgumentElement.php b/src/Elements/ArgumentElement.php deleted file mode 100755 index 8b737bd..0000000 --- a/src/Elements/ArgumentElement.php +++ /dev/null @@ -1,93 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Argument $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Returns the name of this argument. - */ - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getType(): ?Type - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getDefault(): ?string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function isByReference(): bool - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function isVariadic(): bool - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getSignature(): string - { - $sig = []; - $sig[] = (string)$this->getType(); - - $arg = []; - if ($this->isVariadic()) { - $arg[] = '...'; - } - if ($this->isByReference()) { - $arg[] = '&'; - } - $arg[] = '$' . $this->getName(); - - $sig[] = implode($arg); - - if ($this->getDefault()) { - $sig[] = '='; - $sig[] = $this->getDefault(); - } - - return implode(' ', $sig); - } - - public function __toString() - { - return $this->getSignature(); - } -} diff --git a/src/Elements/BaseElement.php b/src/Elements/BaseElement.php deleted file mode 100755 index 42d68ce..0000000 --- a/src/Elements/BaseElement.php +++ /dev/null @@ -1,78 +0,0 @@ -setElement($element) - ->setContext($context); - } - - /** - * Getter for `context` property - * @return Context - */ - public function getContext(): Context - { - return $this->context; - } - - /** - * Setter for `context` property - * @param Context $context - * @return static - */ - public function setContext(Context $context) - { - $this->context = $context; - return $this; - } - - /** - * Getter for `element` property - * @return Element - */ - public function getElement() - { - return $this->element; - } - - /** - * Setter for `element` property - * @param Element $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Proxy method call to element instance - * @param string $method Method name to proxy - * @param array $arguments Arguments to proxy with - * @return mixed - */ - protected function proxy(string $method, array $arguments) - { - return call_user_func_array([$this->element, $method], $arguments); - } -} diff --git a/src/Elements/ClassElement.php b/src/Elements/ClassElement.php deleted file mode 100755 index 52b215b..0000000 --- a/src/Elements/ClassElement.php +++ /dev/null @@ -1,256 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Class_ $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Returns true when this class is final. Otherwise returns false. - * @return bool - */ - public function isFinal(): bool - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns true when this class is abstract. Otherwise returns false. - * @return bool - */ - public function isAbstract(): bool - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getParent(): ?ClassElement - { - return $this->context->getElement((string)$this->getParentFqsen()); - } - - /** - * Returns the superclass this class is extending if available. - * @return Fqsen|null - */ - public function getParentFqsen(): ?Fqsen - { - return $this->proxy('getParent', func_get_args()); - } - - /** - * Returns the interfaces this class is implementing. - * @param bool $includeParent - * @return Fqsen[] - */ - public function getInterfaces(bool $includeParent = true): array - { - if ($includeParent && $this->getParent()) { - $parentInterfaces = $this->getParent()->getInterfaces(); - } else { - $parentInterfaces = []; - } - $interfaces = $this->proxy(__FUNCTION__, func_get_args()); - return array_merge($parentInterfaces, $interfaces); - } - - /** - * Returns the constants of this class. - * @param bool $includeParent - * @return ConstantElement[] - */ - public function getConstants(bool $includeParent = true): array - { - if ($this->constants === null) { - $this->constants = array_map(function ($prop) { - return $this->context->elementFactory($prop); - }, $this->proxy(__FUNCTION__, func_get_args())); - } - - if ($includeParent && $this->getParent()) { - $parentConst = $this->getParent()->getConstants(); - } else { - $parentConst = []; - } - - return array_merge($parentConst, $this->constants); - } - - /** - * {@inheritDoc} - * @param bool $includeParent - */ - public function getMethods(bool $includeParent = true): MethodsCollection - { - if ($this->methods === null) { - $this->methods = new MethodsCollection(array_map(function ($prop) { - return $this->context->elementFactory($prop)->setOwner($this); - }, $this->proxy(__FUNCTION__, func_get_args()))); - - $this->methods = $this->methods->merge( - $this->getUsedTraits()->getMethods()->map(function (MethodElement $method) { - return (clone $method)->setOwner($this); - }) - ); - } - - if ($includeParent && $this->getParent()) { - $parentMethods = $this->getParent()->getMethods() - ->filter(static function (MethodElement $method) { - return $method->getName() !== '__construct'; - }); - - $result = (new MethodsCollection())->merge($parentMethods, $this->methods); - } else { - $result = clone $this->methods; - } - - return $result->indexBy(static function (MethodElement $method) { - return $method->getName(); - }); - } - - /** - * {@inheritDoc} - * @param bool $includeParent - */ - public function getProperties(bool $includeParent = true): PropertiesCollection - { - if ($this->properties === null) { - $this->properties = new PropertiesCollection(array_map(function ($prop) { - return $this->context->elementFactory($prop)->setOwner($this); - }, $this->proxy(__FUNCTION__, func_get_args()))); - - $this->properties = $this->properties->merge( - $this->getUsedTraits()->getProperties()->map(function (PropertyElement $prop) { - return (clone $prop)->setOwner($this); - }) - ); - } - - if ($includeParent && $this->getParent()) { - $result = (new PropertiesCollection())->merge($this->getParent()->getProperties(), $this->properties); - } else { - $result = clone $this->properties; - } - - return $result->indexBy(static function (PropertyElement $prop) { - return $prop->getName(); - }); - } - - /** - * @return TraitsCollection - */ - public function getUsedTraits(): TraitsCollection - { - if ($this->traits === null) { - $this->traits = new TraitsCollection(array_map(function (Fqsen $traitName) { - return $this->getContext()->getElement((string)$traitName); - }, $this->getUsedTraitsFqsen())); - } - - return $this->traits; - } - - public function getUsedTraitsFqsen(): array - { - return $this->proxy('getUsedTraits', func_get_args()); - } - - public function getFqsen(): Fqsen - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getDocBlock(): ?DocBlock - { - if ($this->docBlock === null) { - if (!($docBlock = $this->proxy(__FUNCTION__, func_get_args()))) { - return null; - } - - $this->docBlock = (new ClassDocBlockResolver($docBlock, $this))->resolve(); - } - - return $this->docBlock; - } - - public function getLocation(): Location - { - return $this->proxy(__FUNCTION__, func_get_args()); - } -} diff --git a/src/Elements/Collections/FilterableByVisibilityCollectionInterface.php b/src/Elements/Collections/FilterableByVisibilityCollectionInterface.php deleted file mode 100755 index 01caa79..0000000 --- a/src/Elements/Collections/FilterableByVisibilityCollectionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ -filter(static function (ElementVisibilityInterface $item) use ( - $includePublic, - $includeProtected, - $includePrivate - ) { - $visibility = (string)$item->getVisibility(); - return - ($includePublic && $visibility === 'public') || - ($includeProtected && $visibility === 'protected') || - ($includePrivate && $visibility === 'private'); - }); - } -} diff --git a/src/Elements/Collections/MethodsCollection.php b/src/Elements/Collections/MethodsCollection.php deleted file mode 100755 index 0838028..0000000 --- a/src/Elements/Collections/MethodsCollection.php +++ /dev/null @@ -1,22 +0,0 @@ -getMethods(); - }, $this->all())); - return (new MethodsCollection())->merge(...$methods); - } - - /** - * Returns collection of properties - * @return PropertiesCollection - */ - public function getProperties(): PropertiesCollection - { - $props = array_values(array_map(static function (TraitElement $trait) { - return $trait->getProperties(); - }, $this->all())); - return (new PropertiesCollection())->merge(...$props); - } -} diff --git a/src/Elements/ConstantElement.php b/src/Elements/ConstantElement.php deleted file mode 100755 index 7817410..0000000 --- a/src/Elements/ConstantElement.php +++ /dev/null @@ -1,86 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Constant $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Returns the value of this constant. - */ - public function getValue(): ?string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the Fqsen of the element. - */ - public function getFqsen(): Fqsen - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the name of the element. - */ - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns DocBlock of this constant if available. - */ - public function getDocBlock(): ?DocBlock - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getLocation(): Location - { - return $this->proxy(__FUNCTION__, func_get_args()); - } -} diff --git a/src/Elements/DocBlockResolver/BaseDocBlockResolver.php b/src/Elements/DocBlockResolver/BaseDocBlockResolver.php deleted file mode 100755 index 2bce491..0000000 --- a/src/Elements/DocBlockResolver/BaseDocBlockResolver.php +++ /dev/null @@ -1,144 +0,0 @@ -context; - } - - /** - * @param Context $context - * @return static - */ - public function setContext(Context $context) - { - $this->context = $context; - return $this; - } - - /** - * @return DocBlock - */ - public function getDocBlock(): DocBlock - { - return $this->docBlock; - } - - /** - * @param DocBlock $docBlock - * @return static - */ - public function setDocBlock(DocBlock $docBlock) - { - $this->docBlock = $docBlock; - return $this; - } - - abstract public function resolve(): DocBlock; - - protected function docBlockToText(DocBlock $docBlock): string - { - $summary = $docBlock->getSummary(); - $description = (string)$docBlock->getDescription(); - $result = trim($summary . PHP_EOL . PHP_EOL . $description); - $result = str_ireplace([ - '{@inheritdoc}', - '@inheritdoc' - ], '@inheritdoc', $result); - return $result; - } - - protected function mergeDocBlock(DocBlock $docBlock, string &$text, array &$tags): void - { - $text = str_replace('@inheritdoc', $this->docBlockToText($docBlock), $text); - - $tagsCollection = (new TypedCollection($tags, Tag::class)); - foreach (static::$inheritedTags as $tagName) { - switch ($tagName) { - case 'return': - case 'author': - case 'copyright': - case 'version': - case 'var': - case 'package': - case 'subpackage': - $foundTag = $tagsCollection->find(static function (Tag $tag) use ($tagName) { - return $tag->getName() === $tagName; - }); - - if ($foundTag) { - continue 2; - } - - $inheritedTags = $docBlock->getTagsByName($tagName); - foreach ($inheritedTags as $inheritedTag) { - $tags[] = $inheritedTag; - } - break; - - case 'param': - $params = array_reverse($docBlock->getTagsByName('param')); - foreach ($params as $param) { - array_unshift($tags, $param); - } - break; - - case 'throw': - $throws = $docBlock->getTagsByName('throw'); - foreach ($throws as $throw) { - $tags[] = $throw; - } - break; - - default: - continue 2; - break; - } - } - } - - /** - * @param string $text - * @param Tag[] $tags - * @return DocBlock - */ - protected function buildDocBlock(string $text, array $tags = []): DocBlock - { - $tags = array_map(static function (Tag $tag) { - return $tag->render(); - }, $tags); - $docBlockString = implode(PHP_EOL, array_merge([$text], $tags)); - - static $factory = null; - if ($factory === null) { - $factory = DocBlockFactory::createInstance(); - } - - return $factory->create($docBlockString ?: ' '); - } -} diff --git a/src/Elements/DocBlockResolver/ClassDocBlockResolver.php b/src/Elements/DocBlockResolver/ClassDocBlockResolver.php deleted file mode 100755 index e619175..0000000 --- a/src/Elements/DocBlockResolver/ClassDocBlockResolver.php +++ /dev/null @@ -1,76 +0,0 @@ -setDocBlock($docBlock); - $this->setClass($class); - $this->setContext($class->getContext()); - } - - /** - * @return ClassElement - */ - public function getClass(): ClassElement - { - return $this->class; - } - - /** - * @param ClassElement $class - * @return ClassDocBlockResolver - */ - public function setClass(ClassElement $class): ClassDocBlockResolver - { - $this->class = $class; - return $this; - } - - public function resolve(): DocBlock - { - $text = $this->docBlockToText($this->docBlock); - if (strpos($text, '@inheritdoc') === false) { - return $this->docBlock; - } - - $tags = $this->getDocBlock()->getTags(); - - $parent = $this->getClass()->getParent(); - if ($parent && $parentDocBlock = $parent->getDocBlock()) { - $this->mergeDocBlock($parentDocBlock, $text, $tags); - } - - return $this->buildDocBlock($text, $tags); - } -} diff --git a/src/Elements/DocBlockResolver/MethodDocBlockResolver.php b/src/Elements/DocBlockResolver/MethodDocBlockResolver.php deleted file mode 100755 index ddb40d0..0000000 --- a/src/Elements/DocBlockResolver/MethodDocBlockResolver.php +++ /dev/null @@ -1,108 +0,0 @@ -setDocBlock($docBlock); - $this->setMethod($method); - $this->setContext($method->getContext()); - } - - /** - * @return MethodElement - */ - public function getMethod(): MethodElement - { - return $this->method; - } - - /** - * @param MethodElement $method - * @return static - */ - public function setMethod(MethodElement $method): MethodDocBlockResolver - { - $this->method = $method; - return $this; - } - - public function resolve(): DocBlock - { - $text = $this->docBlockToText($this->docBlock); - $methodOwner = $this->getMethod()->getOwner(); - - if (!($methodOwner instanceof ClassElement) || strpos($text, '@inheritdoc') === false) { - return $this->docBlock; - } - - $tags = $this->getDocBlock()->getTags(); - - $parentClass = $methodOwner->getParent(); - /** @var MethodElement|null $parentMethod */ - $parentMethod = $parentClass ? $parentClass->getMethods()->find(function (MethodElement $method) { - return $method->getName() === $this->getMethod()->getName(); - }) : null; - if ($parentMethod && $parentDocBlock = $parentMethod->getDocBlock()) { - $this->mergeDocBlock($parentDocBlock, $text, $tags); - } - - if (strpos($text, '@inheritdoc') === false) { - return $this->buildDocBlock($text, $tags); - } - - foreach ($methodOwner->getInterfaces() as $interfaceFqsen) { - if (!($interface = $this->getContext()->getElement((string)$interfaceFqsen))) { - continue; - } - - /** @var InterfaceElement $interface */ - $parentMethod = $interface->getMethods()->find(function (MethodElement $method) { - return $method->getName() === $this->getMethod()->getName(); - }); - - if ($parentMethod && $parentDocBlock = $parentMethod->getDocBlock()) { - $this->mergeDocBlock($parentDocBlock, $text, $tags); - } - - if (strpos($text, '@inheritdoc') === false) { - break; - } - } - - return $this->buildDocBlock($text, $tags); - } -} diff --git a/src/Elements/DocBlockResolver/PropertyDocBlockResolver.php b/src/Elements/DocBlockResolver/PropertyDocBlockResolver.php deleted file mode 100755 index abe3ddf..0000000 --- a/src/Elements/DocBlockResolver/PropertyDocBlockResolver.php +++ /dev/null @@ -1,81 +0,0 @@ -setDocBlock($docBlock); - $this->setProperty($property); - $this->setContext($property->getContext()); - } - - /** - * @return PropertyElement - */ - public function getProperty(): PropertyElement - { - return $this->property; - } - - /** - * @param PropertyElement $property - * @return PropertyDocBlockResolver - */ - public function setProperty(PropertyElement $property): PropertyDocBlockResolver - { - $this->property = $property; - return $this; - } - - public function resolve(): DocBlock - { - $text = $this->docBlockToText($this->docBlock); - $propertyOwner = $this->getProperty()->getOwner(); - - if (!($propertyOwner instanceof ClassElement) || strpos($text, '@inheritdoc') === false) { - return $this->docBlock; - } - - $tags = $this->getDocBlock()->getTags(); - $parentClass = $propertyOwner->getParent(); - /** @var PropertyElement|null $parentProperty */ - $parentProperty = $parentClass ? $parentClass->getProperties()->find(function (PropertyElement $method) { - return $method->getName() === $this->getProperty()->getName(); - }) : null; - if ($parentProperty && $parentDocBlock = $parentProperty->getDocBlock()) { - $this->mergeDocBlock($parentDocBlock, $text, $tags); - } - - return $this->buildDocBlock($text, $tags); - } -} diff --git a/src/Elements/ElementDecoratorInterface.php b/src/Elements/ElementDecoratorInterface.php deleted file mode 100755 index c873c2d..0000000 --- a/src/Elements/ElementDecoratorInterface.php +++ /dev/null @@ -1,22 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Function_ $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Returns the arguments of this function. - * @return ArgumentElement[] - */ - public function getArguments(): array - { - if ($this->arguments === null) { - $this->arguments = array_map(function ($prop) { - return $this->context->elementFactory($prop); - }, $this->proxy(__FUNCTION__, func_get_args())); - } - - return $this->arguments; - } - - /** - * Returns the Fqsen of the element. - */ - public function getFqsen(): Fqsen - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the name of the element. - */ - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the DocBlock of the element if available - */ - public function getDocBlock(): ?DocBlock - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getLocation(): Location - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getReturnType(): Type - { - return $this->proxy(__FUNCTION__, func_get_args()); - } -} diff --git a/src/Elements/InterfaceElement.php b/src/Elements/InterfaceElement.php deleted file mode 100755 index da82c3c..0000000 --- a/src/Elements/InterfaceElement.php +++ /dev/null @@ -1,125 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Interface_ $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Returns the constants of this interface. - * @return ConstantElement[] - */ - public function getConstants(): array - { - if ($this->constants === null) { - $this->constants = array_map(function ($prop) { - return $this->context->elementFactory($prop); - }, $this->proxy(__FUNCTION__, func_get_args())); - } - - return $this->constants; - } - - /** - * {@inheritDoc} - */ - public function getMethods(): MethodsCollection - { - if ($this->methods === null) { - $this->methods = new MethodsCollection(array_map(function ($prop) { - return $this->context->elementFactory($prop)->setOwner($this); - }, $this->proxy(__FUNCTION__, func_get_args()))); - } - - return $this->methods; - } - - /** - * Returns the Fqsen of the element. - */ - public function getFqsen(): Fqsen - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the name of the element. - */ - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the DocBlock of this interface if available. - */ - public function getDocBlock(): ?DocBlock - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the Fqsen of the interfaces this interface is extending. - * @return Fqsen[] - */ - public function getParents(): array - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getLocation(): Location - { - return $this->proxy(__FUNCTION__, func_get_args()); - } -} diff --git a/src/Elements/MethodElement.php b/src/Elements/MethodElement.php deleted file mode 100755 index 4e915f5..0000000 --- a/src/Elements/MethodElement.php +++ /dev/null @@ -1,229 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Method $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Getter for `owner` property - * @return MethodOwnerInterface - */ - public function getOwner(): MethodOwnerInterface - { - return $this->owner; - } - - /** - * Setter for `owner` property - * @param MethodOwnerInterface $owner - * @return static - */ - public function setOwner(MethodOwnerInterface $owner): MethodElement - { - $this->owner = $owner; - return $this; - } - - /** - * Returns true when this method is abstract. Otherwise returns false. - */ - public function isAbstract(): bool - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns true when this method is final. Otherwise returns false. - */ - public function isFinal(): bool - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns true when this method is static. Otherwise returns false. - */ - public function isStatic(): bool - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** {@inheritDoc} */ - public function getVisibility(): ?Visibility - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the arguments of this method. - * @return ArgumentElement[] - */ - public function getArguments(): array - { - if ($this->arguments === null) { - $this->arguments = array_map(function ($prop) { - return $this->context->elementFactory($prop); - }, $this->proxy(__FUNCTION__, func_get_args())); - } - - return $this->arguments; - } - - /** - * Returns the Fqsen of the element. - */ - public function getFqsen(): Fqsen - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the name of the element. - */ - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the DocBlock of this method if available. - * @returns DocBlock|null - */ - public function getDocBlock(): ?DocBlock - { - if ($this->docBlock === null) { - if (!($docBlock = $this->proxy(__FUNCTION__, func_get_args()))) { - return null; - } - - $this->docBlock = (new MethodDocBlockResolver($docBlock, $this))->resolve(); - } - - return $this->docBlock; - } - - public function getLocation(): Location - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the in code defined return type. - * - * Return types are introduced in php 7.0 when your could doesn't have a - * return type defined this method will return Mixed_ by default. The return value of this - * method is not affected by the return tag in your docblock. - * - * @return Type - */ - public function getReturnType(): Type - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getShortFqsen(): string - { - $parts = explode('\\', (string)$this->getFqsen()); - return end($parts); - } - - public function getSignature(): string - { - $sig = []; - - if ($this->isAbstract()) { - $sig[] = 'abstract'; - } - - if ($this->isFinal()) { - $sig[] = 'final'; - } - - $sig[] = (string)$this->getVisibility(); - - if ($this->isStatic()) { - $sig[] = 'static'; - } - - $sig[] = 'function'; - $sig[] = str_replace('()', '(' . implode(', ', $this->getArguments()) . ')', $this->getShortFqsen()); - - return implode(' ', $sig) . ': ' . $this->getReturnType(); - } - - public function __toString() - { - return $this->getSignature(); - } - - public function getFileLocation(): ?string - { - if (!($file = $this->context->getFile((string)$this->getOwner()->getFqsen()))) { - return null; - } - - return implode(':', array_filter([ - str_replace(getcwd() . DIRECTORY_SEPARATOR, '', $file->getPath()), - $this->getLocation()->getLineNumber(), - $this->getLocation()->getColumnNumber(), - ])); - } -} diff --git a/src/Elements/MethodOwnerInterface.php b/src/Elements/MethodOwnerInterface.php deleted file mode 100755 index 619a071..0000000 --- a/src/Elements/MethodOwnerInterface.php +++ /dev/null @@ -1,16 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Namespace_ $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Returns a list of all fqsen of classes in this namespace. - * - * @return Fqsen[] - */ - public function getClasses(): array - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns a list of all constants in this namespace. - * - * @return Fqsen[] - */ - public function getConstants(): array - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns a list of all functions in this namespace. - * - * @return Fqsen[] - */ - public function getFunctions(): array - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns a list of all interfaces in this namespace. - * - * @return Fqsen[] - */ - public function getInterfaces(): array - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns a list of all traits in this namespace. - * - * @return Fqsen[] - */ - public function getTraits(): array - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the Fqsen of the element. - */ - public function getFqsen(): Fqsen - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the name of the element. - */ - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } -} diff --git a/src/Elements/PropertyElement.php b/src/Elements/PropertyElement.php deleted file mode 100755 index 8e0ece3..0000000 --- a/src/Elements/PropertyElement.php +++ /dev/null @@ -1,200 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Property $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * Getter for `owner` property - * @return PropertyOwnerInterface - */ - public function getOwner(): PropertyOwnerInterface - { - return $this->owner; - } - - /** - * Setter for `owner` property - * @param PropertyOwnerInterface $owner - * @return PropertyElement - */ - public function setOwner(PropertyOwnerInterface $owner): PropertyElement - { - $this->owner = $owner; - return $this; - } - - /** - * returns the default value of this property. - */ - public function getDefault(): ?string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns true when this method is static. Otherwise returns false. - */ - public function isStatic(): bool - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the types of this property. - * @return string[] - */ - public function getTypes(): array - { - if (!empty(($types = $this->proxy(__FUNCTION__, func_get_args())))) { - return $types; - } - - if (($docBlock = $this->getDocBlock()) === null) { - return []; - } - - $tags = $docBlock->getTagsByName('var'); - /** @var Var_|null $var */ - $var = reset($tags); - - return $var ? explode('|', (string)$var->getType()) : []; - } - - /** {@inheritDoc} */ - public function getVisibility(): ?Visibility - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the Fqsen of the element. - */ - public function getFqsen(): Fqsen - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the name of the element. - */ - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the DocBlock of this property. - */ - public function getDocBlock(): ?DocBlock - { - if ($this->docBlock === null) { - if (!($docBlock = $this->proxy(__FUNCTION__, func_get_args()))) { - return null; - } - - $this->docBlock = (new PropertyDocBlockResolver($docBlock, $this))->resolve(); - } - - return $this->docBlock; - } - - public function getLocation(): Location - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getDescription(): string - { - if (!($docBlock = $this->getDocBlock())) { - return ''; - } - - $varTags = $docBlock->getTagsByName('var'); - /** @var Var_|null $varTag */ - $varTag = reset($varTags); - - return trim(implode(PHP_EOL, array_filter([ - trim($docBlock->getSummary()), - trim((string)$docBlock->getDescription()), - $varTag ? trim((string)$varTag->getDescription()) : '' - ]))); - } - - public function __toString() - { - return $this->getSignature(); - } - - public function getSignature(): string - { - $sig = []; - $sig[] = $this->getVisibility(); - if ($this->isStatic()) { - $sig[] = 'static'; - } - $sig[] = implode('|', $this->getTypes()); - $sig[] = '$' . $this->getName(); - - if ($this->getDefault()) { - $sig[] = '='; - $sig[] = $this->getDefault(); - } - - return implode(' ', array_filter($sig)); - } -} diff --git a/src/Elements/PropertyOwnerInterface.php b/src/Elements/PropertyOwnerInterface.php deleted file mode 100755 index 4b7ab71..0000000 --- a/src/Elements/PropertyOwnerInterface.php +++ /dev/null @@ -1,16 +0,0 @@ -element; - } - - /** - * Setter for `element` property - * @param Trait_ $element - * @return static - */ - public function setElement($element) - { - $this->element = $element; - return $this; - } - - /** - * {@inheritDoc} - */ - public function getMethods(): MethodsCollection - { - if ($this->methods === null) { - $this->methods = new MethodsCollection(array_map(function ($prop) { - return $this->context->elementFactory($prop)->setOwner($this); - }, $this->proxy(__FUNCTION__, func_get_args()))); - - $this->methods = $this->methods->merge( - $this->getUsedTraits()->getMethods()->map(function (MethodElement $method) { - return (clone $method)->setOwner($this); - }) - ); - } - - return $this->methods; - } - - /** - * {@inheritDoc} - */ - public function getProperties(): PropertiesCollection - { - if ($this->properties === null) { - $this->properties = new PropertiesCollection(array_map(function ($prop) { - return $this->context->elementFactory($prop)->setOwner($this); - }, $this->proxy(__FUNCTION__, func_get_args()))); - - $this->properties = $this->properties->merge( - $this->getUsedTraits()->getProperties()->map(function (PropertyElement $prop) { - return (clone $prop)->setOwner($this); - }) - ); - } - - return $this->properties; - } - - /** - * Returns the Fqsen of the element. - */ - public function getFqsen(): Fqsen - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * Returns the name of the element. - */ - public function getName(): string - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - public function getDocBlock(): ?DocBlock - { - return $this->proxy(__FUNCTION__, func_get_args()); - } - - /** - * @return TraitsCollection - */ - public function getUsedTraits(): TraitsCollection - { - if ($this->traits === null) { - $this->traits = new TraitsCollection(array_map(function (Fqsen $traitName) { - return $this->getContext()->getElement((string)$traitName); - }, $this->getUsedTraitsFqsen())); - } - - return $this->traits; - } - - /** - * Returns fqsen of all traits used by this trait. - * @return Fqsen[] - */ - public function getUsedTraitsFqsen(): array - { - return $this->proxy('getUsedTraits', func_get_args()); - } - - public function getLocation(): Location - { - return $this->proxy(__FUNCTION__, func_get_args()); - } -} diff --git a/src/Exception/GivenReflectionNotSupported.php b/src/Exception/GivenReflectionNotSupported.php new file mode 100644 index 0000000..83ca1b8 --- /dev/null +++ b/src/Exception/GivenReflectionNotSupported.php @@ -0,0 +1,41 @@ +renderer = $renderer; + $this->fileNameStrategy = $fileNameStrategy; + } + + /** + * @inheritDoc + */ + public function generate(Project $project): iterable + { + foreach ($project->getClassLikeElements() as $element) { + if ($this->renderer->supports($element)) { + yield new File( + $this->fileNameStrategy->generate($element->name), + $this->renderer->render($element, [ + 'current_fqsen' => $element->name, + ]) + ); + } + } + + if (count($functions = $project->getFunctions()) > 0) { + yield new File( + $this->fileNameStrategy->generate($functions->getFqsen()), + $this->renderer->render($functions, [ + 'current_fqsen' => $functions->getFqsen(), + ]) + ); + } + + if (count($constants = $project->getConstants()) > 0) { + yield new File( + $this->fileNameStrategy->generate($constants->getFqsen()), + $this->renderer->render($constants, [ + 'current_fqsen' => $constants->getFqsen(), + ]) + ); + } + + $toc = $project->getTableOfContents(); + yield new File( + $this->fileNameStrategy->generate($toc->getFqsen()), + $this->renderer->render($toc, [ + 'current_fqsen' => $toc->getFqsen(), + ]) + ); + } +} diff --git a/src/Generator/File.php b/src/Generator/File.php new file mode 100644 index 0000000..33639ff --- /dev/null +++ b/src/Generator/File.php @@ -0,0 +1,46 @@ +name = $name; + $this->content = $content; + } + + /** + * Getter for `name` property. + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * Getter for `content` property. + * @return string + */ + public function getContent(): string + { + return $this->content; + } +} diff --git a/src/Generator/FileNameStrategy.php b/src/Generator/FileNameStrategy.php new file mode 100644 index 0000000..749e47c --- /dev/null +++ b/src/Generator/FileNameStrategy.php @@ -0,0 +1,40 @@ +baseNamespace = rtrim($baseNamespace, '\\'); + $this->fileExtension = ltrim($fileExtension, '.'); + } + + /** + * @inheritDoc + */ + public function generate(Fqsen $fqsen): string + { + $name = str_replace([$this->baseNamespace, '\\'], ['', DIRECTORY_SEPARATOR], $fqsen->getName()); + $name = ltrim($name, '/\\'); + return $name . '.' . $this->fileExtension; + } +} diff --git a/src/Generator/FileNameStrategyInterface.php b/src/Generator/FileNameStrategyInterface.php new file mode 100644 index 0000000..002ed8f --- /dev/null +++ b/src/Generator/FileNameStrategyInterface.php @@ -0,0 +1,16 @@ +outputDirectory = rtrim($outputDirectory, '/\\'); + $this->filesystem = $filesystem ?? new Filesystem(); + } + + /** + * @inheritDoc + */ + public function persist(File $file): void + { + $this->filesystem->dumpFile( + $this->outputDirectory . DIRECTORY_SEPARATOR . $file->getName(), + $file->getContent() + ); + } +} diff --git a/src/Generator/PersisterInterface.php b/src/Generator/PersisterInterface.php new file mode 100644 index 0000000..1143b96 --- /dev/null +++ b/src/Generator/PersisterInterface.php @@ -0,0 +1,13 @@ +fs = new Filesystem(); - $this->setComposer($composer); - parent::__construct($name); - } - - /** - * Getter for `composer` property - * @return array - */ - public function getComposer(): array - { - return $this->composer; - } - - /** - * Setter for `composer` property - * @param array $composer - * @return static - */ - public function setComposer(array $composer) - { - $this->composer = $composer; - return $this; - } - - /** - * Getter for `propertiesVisibility` property - * @return int - */ - public function getPropertiesVisibility(): int - { - return $this->propertiesVisibility; - } - - /** - * Setter for `propertiesVisibility` property - * @param int $propertiesVisibility - * @return static - */ - public function setPropertiesVisibility(int $propertiesVisibility) - { - $this->propertiesVisibility = $propertiesVisibility; - return $this; - } - - /** - * Getter for `methodsVisibility` property - * @return int - */ - public function getMethodsVisibility(): int - { - return $this->methodsVisibility; - } - - /** - * Setter for `methodsVisibility` property - * @param int $methodsVisibility - * @return static - */ - public function setMethodsVisibility(int $methodsVisibility) - { - $this->methodsVisibility = $methodsVisibility; - return $this; - } - - /** {@inheritDoc} */ - protected function configure() - { - $this - ->setName('generate') - ->addArgument('src', InputArgument::OPTIONAL | InputArgument::IS_ARRAY) - ->addOption( - 'projectName', - 'p', - InputOption::VALUE_OPTIONAL, - '', - $this->composer['name'] - ) - ->addOption( - 'visibility', - null, - InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, - 'Visibility filter for both methods and properties', - ['public'] - ) - ->addOption( - 'propertiesVisibility', - null, - InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, - 'Visibility filter for properties' - ) - ->addOption( - 'methodsVisibility', - null, - InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, - 'Visibility filter for methods' - ) - ->addOption( - 'output', - 'o', - InputOption::VALUE_REQUIRED, - '', - 'docs' - ) - ->addOption( - 'rendererClass', - 'r', - InputOption::VALUE_OPTIONAL, - '', - MarkdownRenderer::class - ); - } - - /** {@inheritDoc} */ - protected function initialize(InputInterface $input, OutputInterface $output) - { - // Find source paths - /** @var string[] $rawSrc */ - $rawSrc = $input->getArgument('src'); - - if (empty($rawSrc)) { - $rawSrc = []; - foreach ($this->composer['autoload'] as $type => $autoload) { - switch ($type) { - case 'psr-4': - case 'psr-0': - foreach ($autoload as $dirs) { - foreach ((array)$dirs as $dir) { - if ($dir !== '') { - $rawSrc[] = $dir; - } - } - } - break; - } - } - } - - $src = array_filter($rawSrc, function ($path) { - return $this->fs->exists($path); - }); - - if (empty($src)) { - throw new InvalidArgumentException('No real path provided in src argument'); - } - - $input->setArgument('src', $src); - - // Validate renderer class option - $rendererClass = $input->getOption('rendererClass'); - if (!class_exists($rendererClass)) { - throw new InvalidArgumentException('Cannot find renderer class'); - } - if (!in_array(RendererInterface::class, class_implements($rendererClass), true)) { - throw new InvalidArgumentException('Renderer class must implement ' . RendererInterface::class); - } - - // Validate properties visibility option - $propertiesVisibility = $input->getOption('propertiesVisibility') ?: $input->getOption('visibility'); - $propertiesVisibility = $this->filterVisibilityOptionValues($propertiesVisibility); - if (empty($propertiesVisibility)) { - throw new InvalidArgumentException('Invalid visibility options provided'); - } - $this->setPropertiesVisibility($this->convertVisibilityOptionToBitmask($propertiesVisibility)); - - // Validate methods visibility option - $methodsVisibility = $input->getOption('methodsVisibility') ?: $input->getOption('visibility'); - $methodsVisibility = $this->filterVisibilityOptionValues($methodsVisibility); - if (empty($methodsVisibility)) { - throw new InvalidArgumentException('Invalid visibility options provided'); - } - $this->setMethodsVisibility($this->convertVisibilityOptionToBitmask($methodsVisibility)); - } - - protected function filterVisibilityOptionValues(array $values) - { - return array_intersect($values, ['public', 'protected', 'private']); - } - - protected function convertVisibilityOptionToBitmask(array $values): int - { - $result = 0; - - if (in_array('public', $values, true)) { - $result |= FilterableByVisibilityCollectionInterface::VISIBILITY_PUBLIC; - } - - if (in_array('protected', $values, true)) { - $result |= FilterableByVisibilityCollectionInterface::VISIBILITY_PROTECTED; - } - - if (in_array('private', $values, true)) { - $result |= FilterableByVisibilityCollectionInterface::VISIBILITY_PRIVATE; - } - - return $result; - } - - /** - * {@inheritDoc} - * @throws \phpDocumentor\Reflection\Exception - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $src = $input->getArgument('src'); - - $context = new Context($input->getOption('projectName'), Finder::create() - ->files() - ->name('*.php') - ->in($src)); - - $rendererClass = $input->getOption('rendererClass'); - /** @var RendererInterface $renderer */ - $renderer = new $rendererClass(); - $renderer - ->setFs($this->fs) - ->setOutput($output) - ->setContext($context) - ->setOutputDir($input->getOption('output')) - ->setPropertiesVisibility($this->getPropertiesVisibility()) - ->setMethodsVisibility($this->getMethodsVisibility()) - ->run(); - } -} diff --git a/src/Project/Project.php b/src/Project/Project.php new file mode 100644 index 0000000..faa95b4 --- /dev/null +++ b/src/Project/Project.php @@ -0,0 +1,103 @@ +name = $name; + $this->classLikeElements = $classLikeElements instanceof \Traversable + ? iterator_to_array($classLikeElements) + : $classLikeElements; + $this->functions = new FunctionsAggregate(...$functions); + $this->constants = new ConstantsAggregate(...$constants); + $this->toc = new TableOfContentsElement(...$this->classLikeElements); + } + + /** + * Returns project name + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * Getter for `classLikeElements` property. + * @return ElementInterface[] + */ + public function getClassLikeElements(): iterable + { + return $this->classLikeElements; + } + + /** + * Getter for `functions` property. + * @return FunctionsAggregate + */ + public function getFunctions(): FunctionsAggregate + { + return $this->functions; + } + + /** + * Getter for `constants` property. + * @return ConstantsAggregate + */ + public function getConstants(): ConstantsAggregate + { + return $this->constants; + } + + /** + * Getter for `toc` property. + * @return TableOfContentsElement + */ + public function getTableOfContents(): TableOfContentsElement + { + return $this->toc; + } +} diff --git a/src/Project/ProjectFactory.php b/src/Project/ProjectFactory.php new file mode 100644 index 0000000..1f0f33c --- /dev/null +++ b/src/Project/ProjectFactory.php @@ -0,0 +1,165 @@ +elementFactory = $elementFactory; + $this->classReflector = $classReflector; + $this->functionReflector = $functionReflector; + $this->constantReflector = $constantReflector; + } + + /** + * @param Config $config + * @return Project + */ + public function make(Config $config): Project + { + return new Project( + $config->projectName, + $this->makeClassLikeElements($this->classReflector, $config), + $this->makeFunctionElements($this->functionReflector, $config), + $this->makeConstantElements($this->constantReflector, $config) + ); + } + + /** + * @param ClassReflector $reflector + * @param Config $config + * @return Generator|ElementInterface[] + */ + private function makeClassLikeElements(ClassReflector $reflector, Config $config): Generator + { + foreach ($reflector->getAllClasses() as $reflectionClass) { + if ($reflectionClass->isAnonymous() || $reflectionClass->isInternal()) { + continue; + } + + if ( + null === $reflectionClass->getFileName() + || !$this->fileContainedInDirectories($reflectionClass->getFileName(), $config->sourceDirectories) + ) { + continue; + } + + if (!$this->elementFactory->supports($reflectionClass)) { + continue; + } + + yield $this->elementFactory->make($reflectionClass); + } + } + + /** + * @param FunctionReflector $functionReflector + * @param Config $config + * @return Generator|FunctionElement[] + */ + private function makeFunctionElements(FunctionReflector $functionReflector, Config $config): Generator + { + foreach ($functionReflector->getAllFunctions() as $reflectionFunction) { + if ($reflectionFunction->isInternal()) { + continue; + } + + if ( + null === $reflectionFunction->getFileName() + || !$this->fileContainedInDirectories($reflectionFunction->getFileName(), $config->sourceDirectories) + ) { + continue; + } + + if (!$this->elementFactory->supports($reflectionFunction)) { + continue; + } + + yield $this->elementFactory->make($reflectionFunction); + } + } + + /** + * @param ConstantReflector $constantReflector + * @param Config $config + * @return Generator|ConstantElement[] + */ + private function makeConstantElements(ConstantReflector $constantReflector, Config $config): Generator + { + foreach ($constantReflector->getAllConstants() as $reflectionConstant) { + if ($reflectionConstant->isInternal()) { + continue; + } + + if ( + null === $reflectionConstant->getFileName() + || !$this->fileContainedInDirectories($reflectionConstant->getFileName(), $config->sourceDirectories) + ) { + continue; + } + + if (!$this->elementFactory->supports($reflectionConstant)) { + continue; + } + + yield $this->elementFactory->make($reflectionConstant); + } + } + + /** + * @param string $filename + * @param string[] $directories + * @return bool + */ + private function fileContainedInDirectories(string $filename, array $directories): bool + { + foreach ($directories as $directory) { + if (str_starts_with($filename, $directory)) { + return true; + } + } + + return false; + } +} diff --git a/src/Render/RendererInterface.php b/src/Render/RendererInterface.php new file mode 100644 index 0000000..edff81a --- /dev/null +++ b/src/Render/RendererInterface.php @@ -0,0 +1,24 @@ + $context + * @return string + */ + public function render(ElementInterface $element, array $context = []): string; +} diff --git a/src/Render/StaticListTemplateNameStrategy.php b/src/Render/StaticListTemplateNameStrategy.php new file mode 100644 index 0000000..2cc96a5 --- /dev/null +++ b/src/Render/StaticListTemplateNameStrategy.php @@ -0,0 +1,48 @@ + + */ + private $templateMapping; + + /** + * StaticListTemplateNameStrategy constructor. + * @param array $templateMapping + */ + public function __construct(array $templateMapping) + { + Assert::allStringNotEmpty($templateMapping); + Assert::allStringNotEmpty(array_keys($templateMapping)); + + $this->templateMapping = $templateMapping; + } + + /** + * @inheritDoc + */ + public function get($id): string + { + if (!$this->has($id)) { + throw new NotFoundException(sprintf('No template found for element "%s"', $id)); + } + + return $this->templateMapping[$id]; + } + + /** + * @inheritDoc + */ + public function has($id): bool + { + return isset($this->templateMapping[$id]); + } +} diff --git a/src/Render/TemplateNameStrategyInterface.php b/src/Render/TemplateNameStrategyInterface.php new file mode 100644 index 0000000..606f0f1 --- /dev/null +++ b/src/Render/TemplateNameStrategyInterface.php @@ -0,0 +1,11 @@ +dumper = $dumper ?? new CliDumper( + null, + null, + CliDumper::DUMP_LIGHT_ARRAY | CliDumper::DUMP_COMMA_SEPARATOR | CliDumper::DUMP_TRAILING_COMMA + ); + + if (null === $cloner) { + $cloner = new VarCloner(); + $cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO); + } + + $this->cloner = $cloner; + } + + public function getFunctions(): array + { + return [ + new TwigFunction('dump', [$this, 'dump'], [ + 'is_safe' => ['all'], + 'needs_context' => true, + 'needs_environment' => true, + 'is_variadic' => true, + ]), + ]; + } + + public function getFilters(): array + { + return [ + new TwigFilter('export', [$this, 'export'], [ + 'is_safe' => ['all'], + ]), + ]; + } + + /** + * Implementation of `dump()` twig function using `symfony/var-dumper` compatible with `twig_var_dump()` + * @param Environment $env + * @param array $context + * @param mixed ...$vars + * @return string|null + * @throws \ErrorException + * @see twig_var_dump() + */ + public function dump(Environment $env, array $context, ...$vars): ?string + { + if (!$env->isDebug()) { + return null; + } + + $this->dumper->setCharset($env->getCharset()); + + $output = []; + + if (!$vars) { + foreach ($context as $value) { + if (!$value instanceof Template && !$value instanceof TemplateWrapper) { + $output[] = $this->dumper->dump($this->cloner->cloneVar($value), true); + } + } + } else { + foreach ($vars as $var) { + $output[] = $this->dumper->dump($this->cloner->cloneVar($var), true); + } + } + + return implode($output); + } + + /** + * @param mixed $var + * @return string + * @throws VarExporterExceptionInterface + */ + public function export($var): string + { + return VarExporter::export($var); + } +} diff --git a/src/Render/Twig/ExampleRendererExtension.php b/src/Render/Twig/ExampleRendererExtension.php new file mode 100644 index 0000000..5082a78 --- /dev/null +++ b/src/Render/Twig/ExampleRendererExtension.php @@ -0,0 +1,40 @@ +exampleCodeSnippetResolver = $exampleCodeSnippetResolver; + } + + public function getFunctions(): array + { + return [ + new TwigFunction('example_code_snippet', [$this, 'exampleCodeSnippet']), + ]; + } + + public function exampleCodeSnippet(Example $example): ?CodeSnippet + { + if (false === $this->exampleCodeSnippetResolver->supports($example)) { + return null; + } + + return $example->resolveCodeSnippet($this->exampleCodeSnippetResolver); + } +} diff --git a/src/Render/Twig/LinkExtension.php b/src/Render/Twig/LinkExtension.php new file mode 100644 index 0000000..b0b5d90 --- /dev/null +++ b/src/Render/Twig/LinkExtension.php @@ -0,0 +1,53 @@ +linkResolver = $linkResolver; + $this->anchorGenerator = new AnchorGenerator(); + } + + public function getFunctions(): array + { + return [ + new TwigFunction('anchor', [$this, 'anchor']), + new TwigFunction('resolve_link', [$this, 'resolveLink']), + ]; + } + + public function anchor(Fqsen $fqsen): string + { + return ($this->anchorGenerator)($fqsen); + } + + /** + * @param LinkInterface $link + * @param mixed|null $from + * @return string + */ + public function resolveLink(LinkInterface $link, $from = null): string + { + return (string)$this->linkResolver->resolve($link, $from); + } +} diff --git a/src/Render/Twig/MarkdownExtension.php b/src/Render/Twig/MarkdownExtension.php new file mode 100644 index 0000000..66d3655 --- /dev/null +++ b/src/Render/Twig/MarkdownExtension.php @@ -0,0 +1,97 @@ + '|', + PHP_EOL => '
', + ]; + + foreach ($cells as $cell) { + $output[] = trim(str_replace(array_keys($replacements), array_values($replacements), (string)$cell)); + } + + $output[] = ''; + + return trim(implode(' | ', $output)); + } + + public function indent(string $text, int $size = 4): string + { + return str_repeat(' ', $size) . $text; + } +} diff --git a/src/Render/Twig/SignatureExtension.php b/src/Render/Twig/SignatureExtension.php new file mode 100644 index 0000000..44503a6 --- /dev/null +++ b/src/Render/Twig/SignatureExtension.php @@ -0,0 +1,40 @@ +signatureRenderer = $signatureRenderer; + } + + public function getFunctions(): array + { + return [ + new TwigFunction('signature', [$this, 'signature']), + ]; + } + + public function signature(ElementInterface $element): ?CodeSnippet + { + if (!$this->signatureRenderer->supports($element)) { + return null; + } + + return $this->signatureRenderer->render($element); + } +} diff --git a/src/Render/TwigRenderer.php b/src/Render/TwigRenderer.php new file mode 100644 index 0000000..7589081 --- /dev/null +++ b/src/Render/TwigRenderer.php @@ -0,0 +1,61 @@ + + */ + private $defaultContext; + + /** + * TwigRenderer constructor. + * @param Environment $twig + * @param TemplateNameStrategyInterface $templateNameStrategy + * @param array $defaultContext + */ + public function __construct( + Environment $twig, + TemplateNameStrategyInterface $templateNameStrategy, + array $defaultContext = [] + ) { + $this->twig = $twig; + $this->templateNameStrategy = $templateNameStrategy; + $this->defaultContext = $defaultContext; + } + + /** + * @inheritDoc + */ + public function supports(ElementInterface $element): bool + { + return $this->templateNameStrategy->has(get_class($element)); + } + + /** + * @inheritDoc + */ + public function render(ElementInterface $element, array $context = []): string + { + return $this->twig->render( + $this->templateNameStrategy->get(get_class($element)), + array_merge($this->defaultContext, $context, [ + 'element' => $element, + ]) + ); + } +} diff --git a/src/Renderers/BaseRenderer.php b/src/Renderers/BaseRenderer.php deleted file mode 100755 index 03d9d14..0000000 --- a/src/Renderers/BaseRenderer.php +++ /dev/null @@ -1,246 +0,0 @@ -setContext($context); - $outputDir && $this->setOutputDir($outputDir); - } - - /** {@inheritDoc} */ - public function getContext(): Context - { - return $this->context; - } - - /** {@inheritDoc} */ - public function setContext(Context $context): RendererInterface - { - $this->context = $context; - return $this; - } - - /** {@inheritDoc} */ - public function getOutputDir(): string - { - return $this->outputDir; - } - - /** {@inheritDoc} */ - public function setOutputDir(string $outputDir): RendererInterface - { - if ($this->fs && !$this->fs->isAbsolutePath($this->outputDir)) { - $outputDir = ltrim($outputDir, '\\/'); - $outputDir = getcwd() . DIRECTORY_SEPARATOR . $outputDir; - } - $this->outputDir = $outputDir; - return $this; - } - - /** {@inheritDoc} */ - public function getViewsDir(): string - { - return $this->viewsDir; - } - - /** {@inheritDoc} */ - public function setViewsDir(string $viewsDir): RendererInterface - { - if ($this->fs && !$this->fs->isAbsolutePath($this->viewsDir)) { - $viewsDir = ltrim($viewsDir, '\\/'); - $viewsDir = getcwd() . DIRECTORY_SEPARATOR . $viewsDir; - } - $this->viewsDir = $viewsDir; - return $this; - } - - /** {@inheritDoc} */ - public function getFs(): Filesystem - { - return $this->fs; - } - - /** {@inheritDoc} */ - public function setFs(Filesystem $fs): RendererInterface - { - $this->fs = $fs; - return $this; - } - - /** {@inheritDoc} */ - public function getOutput(): OutputInterface - { - return $this->output; - } - - /** {@inheritDoc} */ - public function setOutput(OutputInterface $output): RendererInterface - { - $this->output = $output; - return $this; - } - - /** {@inheritDoc} */ - public function getPropertiesVisibility(): int - { - return $this->propertiesVisibility; - } - - /** {@inheritDoc} */ - public function setPropertiesVisibility(int $propertiesVisibility): RendererInterface - { - $this->propertiesVisibility = $propertiesVisibility; - return $this; - } - - /** {@inheritDoc} */ - public function getMethodsVisibility(): int - { - return $this->methodsVisibility; - } - - /** {@inheritDoc} */ - public function setMethodsVisibility(int $methodsVisibility): RendererInterface - { - $this->methodsVisibility = $methodsVisibility; - return $this; - } - - /** {@inheritDoc} */ - public function run(): void - { - $this->fs->remove($this->outputDir); - $this->fs->mkdir($this->outputDir); - - $order = [ - 'interfaces', - 'classes', - 'traits', - ]; - - foreach ($this->context->getNamespaces() as $namespace) { - $path = $this->outputDir . str_replace('\\', DIRECTORY_SEPARATOR, (string)$namespace->getFqsen()); - $this->fs->mkdir($path); - - foreach ($order as $item) { - $getMethod = 'get' . ucfirst($item); - $renderMethod = 'render' . ucfirst($item); - if (!method_exists($namespace, $getMethod) || !method_exists($this, $renderMethod)) { - continue; - } - - /** @var Fqsen $fqsen */ - foreach ($namespace->$getMethod() as $fqsen) { - $element = $this->context->getElement((string)$fqsen); - if (!$element) { - continue; - } - $content = $this->$renderMethod($element); - $this->fs->dumpFile($path . DIRECTORY_SEPARATOR . $this->getFileName($fqsen), $content); - } - } - } - } - - /** {@inheritDoc} */ - public function getFileName(Fqsen $fqsen): string - { - return $fqsen->getName(); - } - - /** - * Renders a view file as a PHP script. - * @param string $file - * @param array $params - * @return string - * @throws \Throwable - */ - protected function renderFile(string $file, array $params = []): string - { - $_obInitialLevel_ = ob_get_level(); - ob_start(); - ob_implicit_flush(0); - extract($params, EXTR_OVERWRITE); - try { - if (!$this->fs->isAbsolutePath($file)) { - $file = $this->getViewsDir() . DIRECTORY_SEPARATOR . $file; - } - - if (!$this->fs->exists($file)) { - throw new IOException('View file ' . $file . ' does not exist'); - } - - include $file; - return ob_get_clean(); - } catch (\Throwable $e) { - while (ob_get_level() > $_obInitialLevel_) { - if (!@ob_end_clean()) { - ob_clean(); - } - } - throw $e; - } - } - - /** {@inheritDoc} */ - public function renderInterfaces(InterfaceElement $interface): string - { - throw new RuntimeException('Successor renderer must implement ' . __FUNCTION__ . '() method'); - } - - /** {@inheritDoc} */ - public function renderClasses(ClassElement $interface): string - { - throw new RuntimeException('Successor renderer must implement ' . __FUNCTION__ . '() method'); - } - - /** {@inheritDoc} */ - public function renderTraits(TraitElement $trait): string - { - throw new RuntimeException('Successor renderer must implement ' . __FUNCTION__ . '() method'); - } -} diff --git a/src/Renderers/Markdown/MarkdownHelper.php b/src/Renderers/Markdown/MarkdownHelper.php deleted file mode 100755 index 857d69c..0000000 --- a/src/Renderers/Markdown/MarkdownHelper.php +++ /dev/null @@ -1,131 +0,0 @@ - $line) { - $result[] = str_repeat(' ', $i > 0 && $isListItem ? 6 : 4) . $line; - } - return implode(PHP_EOL, $result); - }, $items); - - if ($notArray) { - $result = reset($result); - } - - $times--; - - if ($times > 0) { - return static::indent($result, $times); - } - - return $result; - } - - public static function code(string $text): string - { - return '`' . $text . '`'; - } - - public static function pre(string $text, string $lang = null): string - { - return implode(PHP_EOL, [ - '```' . ($lang ?? ''), - $text, - '```', - ]); - } - - public static function table(array $rows, bool $withHeader = true): array - { - $table = []; - if ($withHeader) { - $headerRow = array_shift($rows); - $headerDelimiter = array_fill(0, count($headerRow), '---'); - $table[] = static::tableRow($headerRow); - $table[] = static::tableRow($headerDelimiter); - } - foreach ($rows as $row) { - $table[] = static::tableRow($row); - } - return $table; - } - - public static function tableRow(array $row): string - { - array_unshift($row, ''); - $row[] = ''; - return implode('|', $row); - } - - public static function hr() - { - return '---'; - } -} diff --git a/src/Renderers/Markdown/MarkdownRenderer.php b/src/Renderers/Markdown/MarkdownRenderer.php deleted file mode 100755 index ff5c64e..0000000 --- a/src/Renderers/Markdown/MarkdownRenderer.php +++ /dev/null @@ -1,92 +0,0 @@ -setViewsDir(__DIR__ . '/views'); - } - - /** {@inheritDoc} */ - public function getFileName(Fqsen $fqsen): string - { - return $fqsen->getName() . '.md'; - } - - /** - * {@inheritDoc} - * @throws Throwable - */ - public function run(): void - { - parent::run(); - - // Save TOC - $this->fs->dumpFile( - $this->outputDir . DIRECTORY_SEPARATOR . 'README.md', - $this->renderTableOfContents() - ); - } - - /** - * {@inheritDoc} - * @throws Throwable - */ - public function renderInterfaces(InterfaceElement $interface): string - { - return $this->renderFile('interface.php', compact('interface')); - } - - /** - * {@inheritDoc} - * @throws Throwable - */ - public function renderClasses(ClassElement $class): string - { - return $this->renderFile('class.php', compact('class')); - } - - /** - * {@inheritDoc} - * @throws Throwable - */ - public function renderTraits(TraitElement $trait): string - { - return $this->renderFile('trait.php', compact('trait')); - } - - /** - * Renders table of contents - * @return string - * @throws Throwable - */ - public function renderTableOfContents(): string - { - return $this->renderFile('toc.php', ['context' => $this->context]); - } -} diff --git a/src/Renderers/Markdown/views/_constants.php b/src/Renderers/Markdown/views/_constants.php deleted file mode 100755 index 13bbf62..0000000 --- a/src/Renderers/Markdown/views/_constants.php +++ /dev/null @@ -1,33 +0,0 @@ -getDocBlock()) { - $description = implode('. ', array_filter([ - trim($docBlock->getSummary()), - trim((string)$docBlock->getDescription()), - ])); - } - - $constantsTable[] = [ - MarkdownHelper::code($constant->getName()), - MarkdownHelper::code($constant->getValue()), - $description, - ]; -} - -return array_merge( - [ - MarkdownHelper::header('Constants', 2), - '', - ], - MarkdownHelper::table($constantsTable) -); diff --git a/src/Renderers/Markdown/views/_docblock.php b/src/Renderers/Markdown/views/_docblock.php deleted file mode 100755 index 64e75d8..0000000 --- a/src/Renderers/Markdown/views/_docblock.php +++ /dev/null @@ -1,43 +0,0 @@ -getSummary())) !== '') { - $docblockLines[] = $summary; -} - -if (($description = trim((string)$docblock->getDescription())) !== '') { - $docblockLines[] = ''; - $docblockLines[] = $description; -} - -$tagsList = []; -foreach ($docblock->getTags() as $tag) { - switch ($tag->getName()) { - case 'deprecated': - $content = trim($tag) !== '' ? - $tag : - '**Warning:** this class is **deprecated**. ' . - 'This means that this class will likely be removed in a future version.'; - break; - } - - if (!isset($content)) { - continue; - } - - $tagsList[] = $content; -} - -if (!empty($tagsList)) { - $docblockLines[] = ''; - $docblockLines = array_merge($docblockLines, MarkdownHelper::ul($tagsList)); -} - -return $docblockLines; diff --git a/src/Renderers/Markdown/views/_footer.php b/src/Renderers/Markdown/views/_footer.php deleted file mode 100755 index d55ad60..0000000 --- a/src/Renderers/Markdown/views/_footer.php +++ /dev/null @@ -1,11 +0,0 @@ -getName() . '()', 3); - - if ($docblock = $method->getDocBlock()) { - $methodsLines[] = ''; - - if (($summary = trim($docblock->getSummary())) !== '') { - $methodsLines[] = $summary; - } - - if (($description = trim((string)$docblock->getDescription())) !== '') { - $methodsLines[] = ''; - $methodsLines[] = $description; - } - - $tagsTable = [['Param', 'Type', 'Description']]; - foreach ($docblock->getTags() as $tag) { - if (!in_array($tag->getName(), ['param', 'return', 'throw'], true)) { - continue; - } - - $types = trim(implode('|', explode('|', $tag->getType() ?? ''))); - if ($types !== '') { - $types = MarkdownHelper::italic($types); - } - - switch ($tag->getName()) { - case 'param': - /** @var Param $tag */ - $tagsTable[] = [ - MarkdownHelper::code(($tag->isVariadic() ? '...' : '') . '$' . $tag->getVariableName()), - $types, - (string)$tag->getDescription(), - ]; - break; - - case 'return': - /** @var Return_ $tag */ - $tagsTable[] = [ - MarkdownHelper::strong('Return'), - $types, - (string)$tag->getDescription(), - ]; - break; - - case 'throw': - /** @var Throws $tag */ - $tagsTable[] = [ - MarkdownHelper::strong('Throws'), - $types, - (string)$tag->getDescription(), - ]; - break; - } - } - - if (count($tagsTable) > 1) { - $methodsLines[] = ''; - $tagsTable = MarkdownHelper::table($tagsTable); - foreach ($tagsTable as $row) { - $methodsLines[] = $row; - } - } - } - - $methodsLines[] = ''; - $methodsLines[] = MarkdownHelper::pre($method->getSignature(), 'php'); - $methodsLines[] = ''; - $methodsLines[] = 'File location: ' . MarkdownHelper::code($method->getFileLocation()); -} - -return $methodsLines; diff --git a/src/Renderers/Markdown/views/_properties.php b/src/Renderers/Markdown/views/_properties.php deleted file mode 100755 index 73a8a92..0000000 --- a/src/Renderers/Markdown/views/_properties.php +++ /dev/null @@ -1,33 +0,0 @@ -getTypes(); - $propertiesTable[] = [ - MarkdownHelper::code( - $property->getVisibility() . - ($property->isStatic() ? ' static' : '') . - ' $' . $property->getName() - ), - empty($types) ? '' : '' . implode('|', $types) . '', - str_replace(PHP_EOL, ' ', $property->getDescription()), - $property->getDefault() ?? '' - ]; -} - -$propertiesTable = MarkdownHelper::table($propertiesTable); - -return array_merge([ - MarkdownHelper::header('Properties', 2), - '', -], $propertiesTable); diff --git a/src/Renderers/Markdown/views/class.php b/src/Renderers/Markdown/views/class.php deleted file mode 100755 index 2b1a411..0000000 --- a/src/Renderers/Markdown/views/class.php +++ /dev/null @@ -1,91 +0,0 @@ -getName()), -]; - -if ($docblock = $class->getDocBlock()) { - $docblockLines = include __DIR__ . '/_docblock.php'; - $lines[] = ''; - $lines = array_merge($lines, $docblockLines); -} - -$infoList = [ - 'Full name: ' . MarkdownHelper::code($class->getFqsen()), -]; -if ($parent = $class->getParent()) { - $infoList[] = 'Parent class: ' . MarkdownHelper::code($parent->getFqsen()); -} -if (!empty($class->getInterfaces())) { - $implementsList = array_map(static function ($interface) { - return MarkdownHelper::code($interface); - }, $class->getInterfaces()); - - if (count($implementsList) === 1) { - $infoList[] = 'This class implements: ' . reset($implementsList); - } else { - $infoList[] = 'This class implements:'; - $infoList[] = MarkdownHelper::ul($implementsList); - } -} -if (!empty($class->getUsedTraitsFqsen())) { - $implementsList = array_map(static function ($interface) { - return MarkdownHelper::code($interface); - }, $class->getUsedTraitsFqsen()); - - if (count($implementsList) === 1) { - $infoList[] = 'This class uses: ' . reset($implementsList); - } else { - $infoList[] = 'This class uses:'; - $infoList[] = MarkdownHelper::ul($implementsList); - } -} - -$lines[] = ''; -$lines = array_merge($lines, MarkdownHelper::ul($infoList)); - -if (!empty($constants = $class->getConstants())) { - $constantsLines = include __DIR__ . '/_constants.php'; - $lines[] = ''; - $lines = array_merge($lines, $constantsLines); -} - -$propertiesCollection = $class - ->getProperties() - ->filterByVisibility($this->getPropertiesVisibility()) - ->sortBy(static function (PropertyElement $property) { - return $property->getName(); - }); - -if (!$propertiesCollection->isEmpty()) { - $propertiesLines = include __DIR__ . '/_properties.php'; - $lines[] = ''; - $lines = array_merge($lines, $propertiesLines); -} - -$methodsCollection = $class - ->getMethods() - ->filterByVisibility($this->getMethodsVisibility()) - ->sortBy(static function (MethodElement $method) { - return $method->getName(); - }); - -if (!$methodsCollection->isEmpty()) { - $methodsLines = include __DIR__ . '/_methods.php'; - $lines[] = ''; - $lines = array_merge($lines, $methodsLines); -} - -$footerLines = include __DIR__ . '/_footer.php'; -$lines = array_merge($lines, $footerLines); - -echo implode(PHP_EOL, $lines); diff --git a/src/Renderers/Markdown/views/interface.php b/src/Renderers/Markdown/views/interface.php deleted file mode 100755 index 815355d..0000000 --- a/src/Renderers/Markdown/views/interface.php +++ /dev/null @@ -1,62 +0,0 @@ -getName()), -]; - -if ($docblock = $interface->getDocBlock()) { - $docblockLines = include __DIR__ . '/_docblock.php'; - $lines[] = ''; - $lines = array_merge($lines, $docblockLines); -} - -$infoList = [ - 'Full name: ' . MarkdownHelper::code($interface->getFqsen()), -]; -if (!empty($interface->getParents())) { - $implementsList = array_map(static function ($interface) { - return MarkdownHelper::code($interface); - }, $interface->getParents()); - - if (count($implementsList) === 1) { - $infoList[] = 'This interface extends: ' . reset($implementsList); - } else { - $infoList[] = 'This interface extends:'; - $infoList[] = MarkdownHelper::ul($implementsList); - } -} - -$lines[] = ''; -$lines = array_merge($lines, MarkdownHelper::ul($infoList)); - -if (!empty($constants = $interface->getConstants())) { - $constantsLines = include __DIR__ . '/_constants.php'; - $lines[] = ''; - $lines = array_merge($lines, $constantsLines); -} - -$methodsCollection = $interface - ->getMethods() - ->filterByVisibility($this->getMethodsVisibility()) - ->sortBy(static function (MethodElement $method) { - return $method->getName(); - }); - -if (!$methodsCollection->isEmpty()) { - $methodsLines = include __DIR__ . '/_methods.php'; - $lines[] = ''; - $lines = array_merge($lines, $methodsLines); -} - -$footerLines = include __DIR__ . '/_footer.php'; -$lines = array_merge($lines, $footerLines); - -echo implode(PHP_EOL, $lines); diff --git a/src/Renderers/Markdown/views/toc.php b/src/Renderers/Markdown/views/toc.php deleted file mode 100755 index 60e0616..0000000 --- a/src/Renderers/Markdown/views/toc.php +++ /dev/null @@ -1,79 +0,0 @@ -getProject()->getName() . ' API Documentation'); - -$tocList = []; - -$getFileName = Closure::fromCallable([$this, 'getFileName']); - -$fqsenToLink = static function (Fqsen $fqsen, bool $isDir = false) use ($getFileName): string { - $path = './' . ltrim(str_replace('\\', '/', (string)$fqsen), '/\\'); - if (!$isDir) { - $path = str_replace($fqsen->getName(), $getFileName($fqsen), $path); - } - return $path; -}; - -/** @var \spaceonfire\SimplePhpApiDoc\Elements\NamespaceElement $namespace */ -foreach ($context->getNamespaces() as $namespace) { - $tocList[] = MarkdownHelper::link( - $namespace->getFqsen(), - $fqsenToLink($namespace->getFqsen(), true) - ); - - $classesList = MarkdownHelper::ul(array_map(static function (Fqsen $fqsen) use ($fqsenToLink) { - return MarkdownHelper::link( - $fqsen->getName(), - $fqsenToLink($fqsen) - ); - }, $namespace->getClasses())); - - $interfacesList = MarkdownHelper::ul(array_map(static function (Fqsen $fqsen) use ($fqsenToLink) { - return MarkdownHelper::link( - $fqsen->getName(), - $fqsenToLink($fqsen) - ); - }, $namespace->getInterfaces())); - - $traitsList = MarkdownHelper::ul(array_map(static function (Fqsen $fqsen) use ($fqsenToLink) { - return MarkdownHelper::link( - $fqsen->getName(), - $fqsenToLink($fqsen) - ); - }, $namespace->getTraits())); - - $itemsList = []; - if (!empty($classesList)) { - $itemsList[] = 'Classes'; - $itemsList[] = $classesList; - } - if (!empty($interfacesList)) { - $itemsList[] = 'Interfaces'; - $itemsList[] = $interfacesList; - } - if (!empty($traitsList)) { - $itemsList[] = 'Traits'; - $itemsList[] = $traitsList; - } - - $tocList[] = MarkdownHelper::ul($itemsList); -} - -$tocList = MarkdownHelper::ul($tocList); - -$lines[] = ''; -$lines = array_merge($lines, $tocList); - -$footerLines = include __DIR__ . '/_footer.php'; -$lines = array_merge($lines, $footerLines); - -echo implode(PHP_EOL, $lines); diff --git a/src/Renderers/Markdown/views/trait.php b/src/Renderers/Markdown/views/trait.php deleted file mode 100755 index 9811e63..0000000 --- a/src/Renderers/Markdown/views/trait.php +++ /dev/null @@ -1,71 +0,0 @@ -getName()), -]; - -if ($docblock = $trait->getDocBlock()) { - $docblockLines = include __DIR__ . '/_docblock.php'; - $lines[] = ''; - $lines = array_merge($lines, $docblockLines); -} - -$infoList = [ - 'Full name: ' . MarkdownHelper::code($trait->getFqsen()), -]; - -if (!empty($trait->getUsedTraitsFqsen())) { - $implementsList = array_map(static function ($interface) { - return MarkdownHelper::code($interface); - }, $trait->getUsedTraitsFqsen()); - - if (count($implementsList) === 1) { - $infoList[] = 'This trait uses: ' . reset($implementsList); - } else { - $infoList[] = 'This trait uses:'; - $infoList[] = MarkdownHelper::ul($implementsList); - } -} - -$lines[] = ''; -$lines = array_merge($lines, MarkdownHelper::ul($infoList)); - -$propertiesCollection = $trait - ->getProperties() - ->filterByVisibility($this->getPropertiesVisibility()) - ->sortBy(static function (PropertyElement $property) { - return $property->getName(); - }); - -if (!$propertiesCollection->isEmpty()) { - $propertiesLines = include __DIR__ . '/_properties.php'; - $lines[] = ''; - $lines = array_merge($lines, $propertiesLines); -} - -$methodsCollection = $trait - ->getMethods() - ->filterByVisibility($this->getMethodsVisibility()) - ->sortBy(static function (MethodElement $method) { - return $method->getName(); - }); - -if (!$methodsCollection->isEmpty()) { - $methodsLines = include __DIR__ . '/_methods.php'; - $lines[] = ''; - $lines = array_merge($lines, $methodsLines); -} - -$footerLines = include __DIR__ . '/_footer.php'; -$lines = array_merge($lines, $footerLines); - -echo implode(PHP_EOL, $lines); diff --git a/src/Renderers/RendererInterface.php b/src/Renderers/RendererInterface.php deleted file mode 100755 index 92c3ac0..0000000 --- a/src/Renderers/RendererInterface.php +++ /dev/null @@ -1,141 +0,0 @@ -initialized) { + return; + } + + $this->resolver = new ClassDocBlockResolver(new DocBlockFactory(PhpDocumentorDocBlockFactory::createInstance())); + $this->reflector = (new BetterReflection())->classReflector(); + + $this->initialized = true; + } + + public function testSupports(): void + { + self::assertFalse( + $this->resolver->supports( + $this->reflector->reflect(ExampleChildClass::class)->getProperty('propertyFromClass') + ) + ); + self::assertTrue($this->resolver->supports($this->reflector->reflect(ExampleChildClass::class))); + } + + public function testResolveForChild(): void + { + $docBlock = $this->resolver->resolve($this->reflector->reflect(ExampleChildClass::class)); + + self::assertSame('Child class summary', $docBlock->getSummary()); + self::assertSame("Child class description\nInterface description\nParent class description", $docBlock->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('author')); + self::assertSame('Child Author', $docBlock->getFirstTagByName('author')->getAuthorName()); + + self::assertCount(1, $docBlock->getTagsByName('copyright')); + self::assertSame('child copyright', (string)$docBlock->getFirstTagByName('copyright')->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('version')); + self::assertSame('3.0', $docBlock->getFirstTagByName('version')->getVersion()); + self::assertSame('version description', (string)$docBlock->getFirstTagByName('version')->getDescription()); + + self::assertCount(3, $docBlock->getTagsByName('method')); + $expectedMagicMethods = ['methodA', 'methodB', 'methodC']; + /** @var Method $methodTag */ + foreach ($docBlock->getTagsByName('method') as $methodTag) { + self::assertContains($methodTag->getMethodName(), $expectedMagicMethods); + + switch ($methodTag->getMethodName()) { + case 'methodA': + self::assertSame('declared by interface', (string)$methodTag->getDescription()); + break; + case 'methodB': + self::assertSame('redeclared by parent', (string)$methodTag->getDescription()); + break; + case 'methodC': + self::assertSame('redeclared by child', (string)$methodTag->getDescription()); + break; + } + } + + /** @var array $propertyTags */ + $propertyTags = array_merge( + iterator_to_array($docBlock->getTagsByName('property')), + iterator_to_array($docBlock->getTagsByName('property-read')), + iterator_to_array($docBlock->getTagsByName('property-write')) + ); + + self::assertCount(3, $propertyTags); + $expectedMagicProperties = ['propertyA', 'propertyB', 'propertyC']; + + foreach ($propertyTags as $propertyTag) { + self::assertContains($propertyTag->getVariableName(), $expectedMagicProperties); + + switch ($propertyTag->getVariableName()) { + case 'methodA': + self::assertSame('declared by interface', (string)$propertyTag->getDescription()); + break; + case 'methodB': + self::assertSame('redeclared by parent', (string)$propertyTag->getDescription()); + break; + case 'methodC': + self::assertSame('redeclared by child', (string)$propertyTag->getDescription()); + break; + } + } + + self::assertCount(1, $docBlock->getTagsByName('package')); + self::assertSame('child package', (string)$docBlock->getFirstTagByName('package')->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('subpackage')); + self::assertSame('child subpackage', (string)$docBlock->getFirstTagByName('subpackage')->getDescription()); + } + + public function testResolveForParent(): void + { + $docBlock = $this->resolver->resolve($this->reflector->reflect(ExampleClass::class)); + + self::assertSame('Parent class summary', $docBlock->getSummary()); + self::assertSame("Interface description\nParent class description", $docBlock->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('author')); + self::assertSame('Parent Author', $docBlock->getFirstTagByName('author')->getAuthorName()); + + self::assertCount(1, $docBlock->getTagsByName('copyright')); + self::assertSame('parent copyright', (string)$docBlock->getFirstTagByName('copyright')->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('version')); + self::assertSame('2.0', $docBlock->getFirstTagByName('version')->getVersion()); + self::assertSame('', (string)$docBlock->getFirstTagByName('version')->getDescription()); + + self::assertCount(3, $docBlock->getTagsByName('method')); + $expectedMagicMethods = ['methodA', 'methodB', 'methodC']; + /** @var Method $methodTag */ + foreach ($docBlock->getTagsByName('method') as $methodTag) { + self::assertContains($methodTag->getMethodName(), $expectedMagicMethods); + + switch ($methodTag->getMethodName()) { + case 'methodA': + self::assertSame('declared by interface', (string)$methodTag->getDescription()); + break; + case 'methodB': + case 'methodC': + self::assertSame('redeclared by parent', (string)$methodTag->getDescription()); + break; + } + } + + /** @var array $propertyTags */ + $propertyTags = array_merge( + iterator_to_array($docBlock->getTagsByName('property')), + iterator_to_array($docBlock->getTagsByName('property-read')), + iterator_to_array($docBlock->getTagsByName('property-write')) + ); + + self::assertCount(3, $propertyTags); + $expectedMagicProperties = ['propertyA', 'propertyB', 'propertyC']; + + foreach ($propertyTags as $propertyTag) { + self::assertContains($propertyTag->getVariableName(), $expectedMagicProperties); + + switch ($propertyTag->getVariableName()) { + case 'methodA': + self::assertSame('declared by interface', (string)$propertyTag->getDescription()); + break; + case 'methodB': + case 'methodC': + self::assertSame('redeclared by parent', (string)$propertyTag->getDescription()); + break; + } + } + + self::assertCount(1, $docBlock->getTagsByName('package')); + self::assertSame('parent package', (string)$docBlock->getFirstTagByName('package')->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('subpackage')); + self::assertSame('parent subpackage', (string)$docBlock->getFirstTagByName('subpackage')->getDescription()); + } +} diff --git a/tests/Element/DocBlock/Resolver/DocBlockResolverTest.php b/tests/Element/DocBlock/Resolver/DocBlockResolverTest.php new file mode 100644 index 0000000..69acea3 --- /dev/null +++ b/tests/Element/DocBlock/Resolver/DocBlockResolverTest.php @@ -0,0 +1,96 @@ +initialized) { + return; + } + + $this->resolver = new CompositeDocBlockResolver( + new DefaultDocBlockResolver(new DocBlockFactory(PhpDocumentorDocBlockFactory::createInstance([ + 'example' => Example::class, + ]))) + ); + $this->reflector = (new BetterReflection())->classReflector(); + + $this->initialized = true; + } + + public function testSupports(): void + { + self::assertFalse($this->resolver->supports(new stdClass())); + self::assertTrue( + $this->resolver->supports( + $this->reflector->reflect(ExampleChildClass::class)->getReflectionConstant('PUBLIC_CONST') + ) + ); + } + + public function testResolve(): void + { + $docBlock = $this->resolver->resolve( + $this->reflector->reflect(ExampleChildClass::class)->getReflectionConstant('PUBLIC_CONST') + ); + + self::assertSame('Constant summary', $docBlock->getSummary()); + self::assertSame('Constant description', $docBlock->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('var')); + self::assertSame('Public Constant', (string)$docBlock->getFirstTagByName('var')->getDescription()); + } + + /** + * @dataProvider resolveNotSupportedProvider() + * @param DocBlockResolverInterface $resolver + * @param object $reflection + */ + public function testResolveNotSupported(DocBlockResolverInterface $resolver, object $reflection): void + { + $this->expectException(GivenReflectionNotSupported::class); + $resolver->resolve($reflection); + } + + public function resolveNotSupportedProvider(): array + { + $defaultDocBlockResolver = new DefaultDocBlockResolver(new DocBlockFactory(PhpDocumentorDocBlockFactory::createInstance())); + return [ + [ + $defaultDocBlockResolver, + new stdClass(), + ], + [ + new CompositeDocBlockResolver($defaultDocBlockResolver), + new stdClass(), + ], + ]; + } +} diff --git a/tests/Element/DocBlock/Resolver/MethodDocBlockResolverTest.php b/tests/Element/DocBlock/Resolver/MethodDocBlockResolverTest.php new file mode 100644 index 0000000..6aba71e --- /dev/null +++ b/tests/Element/DocBlock/Resolver/MethodDocBlockResolverTest.php @@ -0,0 +1,105 @@ +initialized) { + return; + } + + $this->resolver = new MethodDocBlockResolver(new DocBlockFactory(PhpDocumentorDocBlockFactory::createInstance())); + $this->reflector = (new BetterReflection())->classReflector(); + + $this->initialized = true; + } + + public function testSupports(): void + { + self::assertTrue( + $this->resolver->supports( + $this->reflector->reflect(ExampleChildClass::class)->getMethod('method') + ) + ); + self::assertFalse($this->resolver->supports($this->reflector->reflect(ExampleChildClass::class))); + } + + public function testResolve(): void + { + $docBlock = $this->resolver->resolve( + $this->reflector->reflect(ExampleChildClass::class)->getMethod('method') + ); + + self::assertSame('Child Summary', $docBlock->getSummary()); + self::assertSame("Child before inheritDoc\n\nDefault Description\nParent after inheritDoc\n\nChild after inheritDoc", $docBlock->getDescription()); + + self::assertCount(3, $docBlock->getTagsByName('param')); + $expectedParams = ['name', 'parentArgument', 'childArgument']; + foreach ($docBlock->getTagsByName('param') as $tag) { + self::assertContains($tag->getVariableName(), $expectedParams); + + switch ($tag->getVariableName()) { + case 'name': + self::assertSame('overridden in child argument description', (string)$tag->getDescription()); + break; + + case 'parentArgument': + self::assertSame('parent argument description', (string)$tag->getDescription()); + break; + + case 'childArgument': + self::assertSame('additional argument from child class', (string)$tag->getDescription()); + break; + } + } + + self::assertCount(1, $docBlock->getTagsByName('return')); + self::assertSame('returned value description', (string)$docBlock->getFirstTagByName('return')->getDescription()); + + self::assertCount(3, $docBlock->getTagsByName('throws')); + + self::assertCount(1, $docBlock->getTagsByName('author')); + self::assertSame('Child Author', $docBlock->getFirstTagByName('author')->getAuthorName()); + + self::assertCount(1, $docBlock->getTagsByName('copyright')); + self::assertSame('child copyright', (string)$docBlock->getFirstTagByName('copyright')->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('version')); + self::assertSame('3.0', $docBlock->getFirstTagByName('version')->getVersion()); + self::assertSame('version description', (string)$docBlock->getFirstTagByName('version')->getDescription()); + } + + public function testResolveInheritDocWithoutParent(): void + { + $docBlock = $this->resolver->resolve( + $this->reflector->reflect(ExampleChildClass::class)->getMethod('noParent') + ); + + self::assertSame('', $docBlock->getSummary()); + self::assertSame('@inheritdoc', $docBlock->getDescription()); + } +} diff --git a/tests/Element/DocBlock/Resolver/PropertyDocBlockResolverTest.php b/tests/Element/DocBlock/Resolver/PropertyDocBlockResolverTest.php new file mode 100644 index 0000000..4df9f80 --- /dev/null +++ b/tests/Element/DocBlock/Resolver/PropertyDocBlockResolverTest.php @@ -0,0 +1,130 @@ +initialized) { + return; + } + + $this->resolver = new PropertyDocBlockResolver(new DocBlockFactory(PhpDocumentorDocBlockFactory::createInstance())); + $this->reflector = (new BetterReflection())->classReflector(); + + $this->initialized = true; + } + + public function testSupports(): void + { + self::assertTrue( + $this->resolver->supports( + $this->reflector->reflect(ExampleChildClass::class)->getProperty('propertyFromClass') + ) + ); + self::assertFalse($this->resolver->supports($this->reflector->reflect(ExampleChildClass::class))); + } + + public function testResolve(): void + { + $docBlock = $this->resolver->resolve( + $this->reflector->reflect(ExampleChildClass::class)->getProperty('propertyFromClass') + ); + + self::assertSame('Property summary overridden in child class', $docBlock->getSummary()); + self::assertSame("Parent Description\nChild Description", $docBlock->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('var')); + self::assertSame('child description', (string)$docBlock->getFirstTagByName('var')->getDescription()); + self::assertSame('int', (string)$docBlock->getFirstTagByName('var')->getType()); + + self::assertCount(1, $docBlock->getTagsByName('author')); + self::assertSame('Child Author', $docBlock->getFirstTagByName('author')->getAuthorName()); + + self::assertCount(1, $docBlock->getTagsByName('copyright')); + self::assertSame('child copyright', (string)$docBlock->getFirstTagByName('copyright')->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('version')); + self::assertSame('3.0', $docBlock->getFirstTagByName('version')->getVersion()); + self::assertSame('version description', (string)$docBlock->getFirstTagByName('version')->getDescription()); + } + + public function testResolveTraitProperty(): void + { + $docBlock = $this->resolver->resolve( + $this->reflector->reflect(ExampleChildClass::class)->getProperty('propertyFromTrait') + ); + + self::assertSame('Property summary overridden in child class', $docBlock->getSummary()); + self::assertSame('Trait Description', $docBlock->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('var')); + self::assertSame('trait description', (string)$docBlock->getFirstTagByName('var')->getDescription()); + self::assertSame('bool', (string)$docBlock->getFirstTagByName('var')->getType()); + + self::assertCount(1, $docBlock->getTagsByName('author')); + self::assertSame('Child Author', $docBlock->getFirstTagByName('author')->getAuthorName()); + + self::assertCount(1, $docBlock->getTagsByName('copyright')); + self::assertSame('child copyright', (string)$docBlock->getFirstTagByName('copyright')->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('version')); + self::assertSame('3.0', $docBlock->getFirstTagByName('version')->getVersion()); + self::assertSame('version description', (string)$docBlock->getFirstTagByName('version')->getDescription()); + + $docBlock = $this->resolver->resolve( + $this->reflector->reflect(ExampleClass::class)->getProperty('propertyFromTrait') + ); + + self::assertSame('This property declared in trait', $docBlock->getSummary()); + self::assertSame('Trait Description', $docBlock->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('var')); + self::assertSame('trait description', (string)$docBlock->getFirstTagByName('var')->getDescription()); + self::assertSame('bool', (string)$docBlock->getFirstTagByName('var')->getType()); + + self::assertCount(1, $docBlock->getTagsByName('author')); + self::assertSame('Trait Author', $docBlock->getFirstTagByName('author')->getAuthorName()); + + self::assertCount(1, $docBlock->getTagsByName('copyright')); + self::assertSame('trait copyright', (string)$docBlock->getFirstTagByName('copyright')->getDescription()); + + self::assertCount(1, $docBlock->getTagsByName('version')); + self::assertSame('1.0', $docBlock->getFirstTagByName('version')->getVersion()); + self::assertSame('', (string)$docBlock->getFirstTagByName('version')->getDescription()); + } + + public function testResolveInheritDocWithoutParent(): void + { + $docBlock = $this->resolver->resolve( + $this->reflector->reflect(ExampleChildClass::class)->getProperty('propertyFromChildClass') + ); + + self::assertSame('', $docBlock->getSummary()); + self::assertSame('@inheritdoc', $docBlock->getDescription()); + } +} diff --git a/tests/Element/Factory/ElementFactoryTest.php b/tests/Element/Factory/ElementFactoryTest.php new file mode 100644 index 0000000..833c357 --- /dev/null +++ b/tests/Element/Factory/ElementFactoryTest.php @@ -0,0 +1,154 @@ +initialized) { + return; + } + + $this->reflector = (new BetterReflection())->classReflector(); + + $docBlockFactory = new DocBlockFactory(PhpDocumentorDocBlockFactory::createInstance([ + 'example' => Example::class, + ])); + $resolver = new CompositeDocBlockResolver( + new ClassDocBlockResolver($docBlockFactory), + new MethodDocBlockResolver($docBlockFactory), + new PropertyDocBlockResolver($docBlockFactory), + new DefaultDocBlockResolver($docBlockFactory) + ); + + $typeFactory = new CompositeTypeFactory(...[ + new CollectionTypeFactory(), + new GroupTypeFactory(), + new ConjunctionTypeFactory(), + new DisjunctionTypeFactory(), + new BetterReflectionInstanceOfTypeFactory($this->reflector), + new BetterReflectionParentFactory($this->reflector), + new BuiltinTypeFactory(), + new MixedTypeFactory(), + new VoidTypeFactory(), + ]); + + $locationFactory = new LocationFactory([dirname(__DIR__, 2) . '/_Fixtures']); + + $this->factory = new CompositeElementFactory( + new ClassLikeElementFactory($resolver, $typeFactory, $locationFactory), + new ConstantElementFactory($resolver, $typeFactory, $locationFactory), + new FunctionLikeElementFactory($resolver, $typeFactory, $locationFactory), + new PropertyElementFactory($resolver, $typeFactory, $locationFactory) + ); + + $this->initialized = true; + } + + /** + * @dataProvider supportsDataProvider() + * @param ElementFactoryInterface $factory + * @param object $reflection + * @param bool $expected + */ + public function testSupports(ElementFactoryInterface $factory, object $reflection, bool $expected): void + { + self::assertSame($expected, $factory->supports($reflection)); + } + + public function supportsDataProvider(): array + { + $this->setUp(); + + return [ + [ + $this->factory, + $this->reflector->reflect(ExampleChildClass::class), + true, + ], + [ + $this->factory, + new stdClass(), + false, + ], + ]; + } + + public function testMakeExampleChildClass(): void + { + /** @var ClassElement $element */ + $element = $this->factory->make($this->reflector->reflect(ExampleChildClass::class)); + self::assertInstanceOf(ClassElement::class, $element); + self::assertSame(ExampleChildClass::class, $element->name->getName()); + + $expectedConstants = ['PUBLIC_CONST', 'PROTECTED_CONST', 'PRIVATE_CONST', 'CONST']; + self::assertCount(count($expectedConstants), $element->constants); + foreach ($element->constants as $constant) { + self::assertContains($constant->name->withoutClassName(), $expectedConstants); + } + + $expectedProperties = ['$propertyFromClass', '$propertyFromTrait', '$propertyFromChildClass']; + self::assertCount(count($expectedProperties), $element->properties); + foreach ($element->properties as $property) { + self::assertContains($property->name->withoutClassName(), $expectedProperties); + } + + $expectedMethods = ['method', 'noParent', 'traitMethod', '__call']; + self::assertCount(count($expectedMethods), $element->methods); + foreach ($element->methods as $method) { + self::assertContains($method->name->withoutClassName(), $expectedMethods); + } + + $expectedMagicProperties = ['$propertyA', '$propertyB', '$propertyC']; + self::assertCount(count($expectedMagicProperties), $element->magicProperties); + foreach ($element->magicProperties as $magicProperty) { + self::assertContains($magicProperty->name->withoutClassName(), $expectedMagicProperties); + } + + $expectedMagicMethods = ['methodA', 'methodB', 'methodC']; + self::assertCount(count($expectedMagicMethods), $element->magicMethods); + foreach ($element->magicMethods as $magicMethod) { + self::assertContains($magicMethod->name->withoutClassName(), $expectedMagicMethods); + } + // TODO: write asserts to full expected state of generated $element + } +} diff --git a/tests/Element/ValueObject/FqsenTest.php b/tests/Element/ValueObject/FqsenTest.php new file mode 100644 index 0000000..691f181 --- /dev/null +++ b/tests/Element/ValueObject/FqsenTest.php @@ -0,0 +1,50 @@ +getName()); + self::assertSame($shortName, $object->getShortName()); + self::assertSame($namespace, $object->getNamespace()); + } + + public function dataProvider(): array + { + return [ + [ + 'spaceonfire\ApiDoc\ValueObject', + 'spaceonfire\ApiDoc\ValueObject', + 'ValueObject', + 'spaceonfire\ApiDoc', + ], + [ + 'spaceonfire\ApiDoc\ValueObject::method()', + 'spaceonfire\ApiDoc\ValueObject::method', + 'ValueObject::method', + 'spaceonfire\ApiDoc', + ], + [ + 'Exception', + 'Exception', + 'Exception', + '', + ], + ]; + } +} diff --git a/tests/ExampleTest.php b/tests/ExampleTest.php deleted file mode 100755 index 18cb41f..0000000 --- a/tests/ExampleTest.php +++ /dev/null @@ -1,16 +0,0 @@ -assertTrue(true); - } -} diff --git a/tests/_Fixtures/.apidocrc.php b/tests/_Fixtures/.apidocrc.php new file mode 100644 index 0000000..b3b6eea --- /dev/null +++ b/tests/_Fixtures/.apidocrc.php @@ -0,0 +1,15 @@ +withProjectName('SpaceOnFire ApiDoc') + ->withSourceDirectories([__DIR__ . '/Php72']) + ->withExamplesDirectories([__DIR__ . '/examples']) + ->withOutputDirectory(__DIR__ . '/docs') + ->withBaseNamespace('spaceonfire\ApiDoc\_Fixtures'); +}; diff --git a/tests/_Fixtures/.gitignore b/tests/_Fixtures/.gitignore new file mode 100644 index 0000000..d8f8d46 --- /dev/null +++ b/tests/_Fixtures/.gitignore @@ -0,0 +1 @@ +docs diff --git a/tests/_Fixtures/Php72/AbstractClass.php b/tests/_Fixtures/Php72/AbstractClass.php new file mode 100644 index 0000000..d709986 --- /dev/null +++ b/tests/_Fixtures/Php72/AbstractClass.php @@ -0,0 +1,87 @@ +protectedProperty = $protectedProperty; + $this->privateProperty = $privateProperty; + } + + /** + * Says hello to somebody + * @param string $name argument description + * @return string returned value description + * @throws \InvalidArgumentException throw description + * @deprecated Deprecation reason. + */ + final public function sayHello(string $name): string + { + return 'Hello, ' . $name; + } + + /** + * @link https://www.onfire.space/ SpaceOnfire Homepage + * @see https://github.com/spaceonfire SpaceOnfire GitHub organization + * @see AbstractClass::abstractMethod() see method + * @see AbstractClass::$privateProperty see property + * @see ExampleChildClass see class + * @see ExampleChildClass::method() see other class method + * @example example.php Full example file + */ + public static function staticMethod() + { + } + + /** + * @example ConcreteClass.php 11 4 Implementation example + * @example https://www.onfire.space/ SpaceOnfire Homepage + */ + abstract public function abstractMethod(): int; +} diff --git a/tests/_Fixtures/Php72/DummyInterface.php b/tests/_Fixtures/Php72/DummyInterface.php new file mode 100644 index 0000000..e5275eb --- /dev/null +++ b/tests/_Fixtures/Php72/DummyInterface.php @@ -0,0 +1,10 @@ +