config-unicaen.php 5.21 KB
Newer Older
1
2
<?php

3
4
5
6
/**
 * Config PHAN pour les modules unicaen/*.
 */

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * This configuration will be read and overlaid on top of the
 * default configuration. Command line arguments will be applied
 * after this file is read.
 */
return [
    // Supported values: `'5.6'`, `'7.0'`, `'7.1'`, `'7.2'`, `'7.3'`, `null`.
    // If this is set to `null`,
    // then Phan assumes the PHP version which is closest to the minor version
    // of the php executable used to execute Phan.
    //
    // Note that the **only** effect of choosing `'5.6'` is to infer that functions removed in php 7.0 exist.
    // (See `backward_compatibility_checks` for additional options)
    // TODO: Set this.
    'target_php_version' => null,

    // Backwards Compatibility Checking. This is very slow
    // and expensive, but you should consider running
    // it before upgrading your version of PHP from 5.x to 7.0,
    // due to the backward compatibility breaks of parsing in PHP 7.0
27
    'backward_compatibility_checks' => true,
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

    // Added in 0.10.0. Set this to false to emit
    // PhanUndeclaredFunction issues for internal functions
    // that Phan has signatures for,
    // but aren't available in the codebase or the
    // internal functions used to run phan
    'ignore_undeclared_functions_with_known_signatures' => false,

    // If empty, no filter against issues types will be applied.
    // If this white-list is non-empty, only issues within the list
    // will be emitted by Phan.
    'whitelist_issue_types' => [
        'PhanDeprecatedFunctionInternal',  // Warns about a few functions deprecated in 7.0 and later.
        'PhanUndeclaredFunction',  // Check for removed functions such as split() that were deprecated in php 5.x and removed in php 7.0.

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
        'PhanCompatibleExpressionPHP7',
        'PhanCompatibleKeyedArrayAssignPHP70',
        'PhanCompatibleNullableTypePHP70',
        'PhanCompatiblePHP7',  // This only checks for **syntax** where the parsing may have changed. This check is enabled by `backward_compatibility_checks`
        'PhanCompatibleShortArrayAssignPHP70',
        'PhanCompatibleUseIterablePHP71',
        'PhanCompatibleUseObjectPHP71',
        'PhanCompatibleUseObjectPHP71',
        'PhanCompatibleUseVoidPHP70',
        'PhanCompatibleVoidTypePHP70',

//        'PhanDeprecatedClass',
//        'PhanDeprecatedFunction',
//        'PhanDeprecatedInterface',
//        'PhanDeprecatedTrait',
//        'PhanParamSignatureMismatch',
//        'PhanParamSignatureRealMismatchHasParamType',
//        'PhanParamSignatureRealMismatchParamType',
        'PhanParamSignatureRealMismatchTooFewParameters',
        'PhanParamSignatureRealMismatchTooFewParametersInternal',
        'PhanParamTooFew',
//        'PhanParamTooMany',
//        'PhanParamTooManyInternal',
//        'PhanSyntaxError',
//        'PhanTypeMismatchArgument',
//        'PhanTypeMismatchArgumentInternal',
//        'PhanTypeMismatchDeclaredParam',
//        'PhanTypeMismatchDeclaredParamNullable',
//        'PhanTypeMismatchDefault',
//        'PhanTypeMismatchForeach',
//        'PhanTypeMismatchProperty',
//        'PhanTypeMismatchReturn',
//        'PhanTypeMissingReturn',
//        'PhanUndeclaredClassInstanceof',
//        'PhanUnreferencedUseNormal',
        'PhanContinueTargetingSwitch', // This detects code causing a warning in PHP 7.3.
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
    ],

    // A list of directories that should be parsed for class and
    // method information. After excluding the directories
    // defined in exclude_analysis_directory_list, the remaining
    // files will be statically analyzed for errors.
    //
    // Thus, both first-party and third-party code being used by
    // your application should be included in this list.
    'directory_list' => [
        'vendor',
        'vendor/unicaen',
    ],

    // A directory list that defines files that will be excluded
    // from static analysis, but whose class and method
    // information should be included.
    //
    // Generally, you'll want to include the directories for
    // third-party code (such as "vendor/") in this list.
    //
    // n.b.: If you'd like to parse but not analyze 3rd
    //       party code, directories containing that code
    //       should be added to both the `directory_list`
    //       and `exclude_analysis_directory_list` arrays.
    'exclude_analysis_directory_list' => [
        'vendor/bin',
        'vendor/composer',
        'vendor/container-interop',
        'vendor/dealerdirect',
        'vendor/doctrine',
        'vendor/easybook',
        'vendor/felixfbecker',
        'vendor/jasig',
        'vendor/microsoft',
        'vendor/mpdf',
        'vendor/myclabs',
        'vendor/netresearch',
        'vendor/paragonie',
        'vendor/phan',
        'vendor/phpcompatibility',
        'vendor/phpdocumentor',
        'vendor/phpspec',
        'vendor/phpunit',
        'vendor/psr',
        'vendor/ramsey',
        'vendor/sabre',
        'vendor/sebastian',
        'vendor/setasign',
        'vendor/slevomat',
        'vendor/squizlabs',
        'vendor/symfony',
        'vendor/true',
//        'vendor/unicaen',
        'vendor/webmozart',
        'vendor/zendframework',
135
        'vendor/zf-commons',
136
137
138
139
140

        'vendor/unicaen/code/code/template',
        'vendor/unicaen/bjy-authorize/tests',
    ],
];