Completed
Push — develop ( 8fda15...dbbcf5 )
by Jaap
14s
created

src/phpDocumentor/Configuration.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 * phpDocumentor
4
 *
5
 * PHP Version 5.3
6
 *
7
 * @copyright 2010-2018 Mike van Riel / Naenius (http://www.naenius.com)
8
 * @license   http://www.opensource.org/licenses/mit-license.php MIT
9
 * @link      http://phpdoc.org
10
 */
11
12
namespace phpDocumentor;
13
14
use JMS\Serializer\Annotation as Serializer;
15
use phpDocumentor\Configuration\Logging;
16
use phpDocumentor\Configuration\Merger\Annotation as Merger;
17
use phpDocumentor\Partials\Partial;
18
use phpDocumentor\Plugin\Plugin;
19
use phpDocumentor\Transformer\Configuration\Transformations;
20
21
/**
22
 * The definition for the configuration of phpDocumentor.
23
 */
24
class Configuration
25
{
26
    /**
27
     * @var string The title for the generated documentation.
28
     * @Serializer\Type("string")
29
     */
30
    protected $title = '';
31
32
    /**
33
     * @var Parser\Configuration The settings used during the parsing phase.
34
     * @Serializer\Type("phpDocumentor\Parser\Configuration")
35
     */
36
    protected $parser;
37
38
    /**
39
     * @var Configuration\Logging The setting used for the logging of application messages and errors.
40
     * @Serializer\Type("phpDocumentor\Configuration\Logging")
41
     */
42
    protected $logging;
43
44
    /**
45
     * @var Transformer\Configuration The settings used during the transformation phase.
46
     * @Serializer\Type("phpDocumentor\Transformer\Configuration")
47
     */
48
    protected $transformer;
49
50
    /**
51
     * @var Parser\Configuration\Files contains a list of all files and directories to parse and to ignore.
52
     * @Serializer\Type("phpDocumentor\Parser\Configuration\Files")
53
     */
54
    protected $files;
55
56
    /**
57
     * @var Plugin[] contains a listing of all plugins that should be loaded during startup.
58
     * @Serializer\Type("array<phpDocumentor\Plugin\Plugin>")
59
     * @Serializer\XmlList(entry = "plugin")
60
     * @Merger\Replace
61
     */
62
    protected $plugins = [];
63
64
    /**
65
     * @var Transformations[] contains a list of all templates and custom transformations that are to be executed during
66
     *     the transformation process.
67
     * @Serializer\Type("phpDocumentor\Transformer\Configuration\Transformations")
68
     */
69
    protected $transformations;
70
71
    /**
72
     * @var Translator\Configuration The settings used during translation.
73
     * @Serializer\Type("phpDocumentor\Translator\Configuration")
74
     */
75
    protected $translator;
76
77
    /**
78
     * @var Partial[] A list of custom texts, or references thereto, that may be injected into templates.
79
     * @Serializer\Type("array<phpDocumentor\Partials\Partial>")
80
     */
81
    protected $partials = [];
82
83
    /**
84
     * Initializes all settings with their default values.
85
     */
86 6
    public function __construct()
87
    {
88 6
        $this->transformer = new Transformer\Configuration();
89 6
        $this->transformations = new Transformer\Configuration\Transformations();
0 ignored issues
show
Documentation Bug introduced by
It seems like new \phpDocumentor\Trans...ation\Transformations() of type object<phpDocumentor\Tra...ration\Transformations> is incompatible with the declared type array<integer,object<php...ation\Transformations>> of property $transformations.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
90 6
        $this->files = new Parser\Configuration\Files();
91 6
        $this->parser = new Parser\Configuration();
92 6
        $this->logging = new Logging();
93 6
        $this->translator = new Translator\Configuration();
94 6
    }
95
96
    /**
97
     * Returns the title for the generated documentation.
98
     *
99
     * @return string
100
     */
101 1
    public function getTitle()
102
    {
103 1
        return $this->title;
104
    }
105
106
    /**
107
     * Returns the configuration related to which files are to be parsed.
108
     *
109
     * @return Parser\Configuration\Files
110
     */
111 1
    public function getFiles()
112
    {
113 1
        return $this->files;
114
    }
115
116
    /**
117
     * Returns the settings related to logging.
118
     *
119
     * @return Configuration\Logging
120
     */
121 1
    public function getLogging()
122
    {
123 1
        return $this->logging;
124
    }
125
126
    /**
127
     * Returns the configuration used by the parser.
128
     *
129
     * @return Parser\Configuration
130
     */
131 1
    public function getParser()
132
    {
133 1
        return $this->parser;
134
    }
135
136
    /**
137
     * Returns all partials that can be imported in the application.
138
     *
139
     * @return Partials\Partial[]
140
     */
141 1
    public function getPartials()
142
    {
143 1
        return $this->partials;
144
    }
145
146
    /**
147
     * Returns a list of all plugins that should be loaded by the application.
148
     *
149
     * @return Plugin[]
150
     */
151 1
    public function getPlugins()
152
    {
153 1
        return $this->plugins;
154
    }
155
156
    /**
157
     * Returns which templates and custom transformations need to be applied to the parsed data.
158
     *
159
     * @return Transformer\Configuration\Transformations
160
     */
161 1
    public function getTransformations()
162
    {
163 1
        return $this->transformations;
164
    }
165
166
    /**
167
     * Returns the settings for the transformer.
168
     *
169
     * @return Transformer\Configuration
170
     */
171 1
    public function getTransformer()
172
    {
173 1
        return $this->transformer;
174
    }
175
176
    /**
177
     * Returns the settings for the translator.
178
     *
179
     * @return Translator\Configuration
180
     */
181 1
    public function getTranslator()
182
    {
183 1
        return $this->translator;
184
    }
185
}
186