source: spip-zone/_galaxie_/code.spip.net/autodoc/trunk/src/autodoc/Plugin/Core/Transformer/Router/ZoraRouter.php @ 74906

Last change on this file since 74906 was 74906, checked in by marcimat@…, 6 years ago

Gestion des Apis

File size: 1.9 KB
Line 
1<?php
2/**
3 * Déclarations des routes (objet > url)
4 */
5
6namespace autodoc\Plugin\Core\Transformer\Router;
7
8use phpDocumentor\Transformer\Router\RouterAbstract;
9use phpDocumentor\Transformer\Router\Rule;
10
11use phpDocumentor\Descriptor\FileDescriptor;
12use phpDocumentor\Descriptor\ProjectDescriptor;
13use phpDocumentor\Descriptor\FunctionDescriptor;
14use phpDocumentor\Descriptor\ConstantDescriptor;
15
16use autodoc\Plugin\Core\Descriptor\DirectoryDescriptor;
17use autodoc\Plugin\Core\Descriptor\ApiDescriptor;
18
19/**
20 * The default router for phpDocumentor.
21 */
22class ZoraRouter extends RouterAbstract
23{
24    /**
25     * Configuration function to add routing rules to a router.
26     *
27     * @return void
28     */
29    public function configure()
30    {
31        $fileGenerator           = new UrlGenerator\Zora\FileDescriptor();
32        $directoryGenerator      = new UrlGenerator\Zora\DirectoryDescriptor();
33        $projectGenerator        = new UrlGenerator\Zora\ProjectDescriptor();
34        $functionGenerator       = new UrlGenerator\Zora\FunctionDescriptor();
35        $constantDescriptor      = new UrlGenerator\Zora\ConstantDescriptor();
36        $apiDescriptor           = new UrlGenerator\Zora\ApiDescriptor();
37
38        // @codingStandardsIgnoreStart
39        $this[] = new Rule(function ($node) { return ($node instanceof FileDescriptor); },       $fileGenerator);
40        $this[] = new Rule(function ($node) { return ($node instanceof DirectoryDescriptor); },  $directoryGenerator);
41        $this[] = new Rule(function ($node) { return ($node instanceof ProjectDescriptor); },    $projectGenerator);
42        $this[] = new Rule(function ($node) { return ($node instanceof FunctionDescriptor); },   $functionGenerator);
43        $this[] = new Rule(function ($node) { return ($node instanceof ConstantDescriptor); },   $constantDescriptor);
44        $this[] = new Rule(function ($node) { return ($node instanceof ApiDescriptor); },        $apiDescriptor);
45        // @codingStandardsIgnoreEnd
46    }
47}
Note: See TracBrowser for help on using the repository browser.