forked from PHPCompatibility/PHPCompatibility
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PHPCSAliases.php
69 lines (64 loc) · 2.73 KB
/
PHPCSAliases.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
<?php
/**
* PHPCompatibility, an external standard for PHP_CodeSniffer.
*
* PHPCS cross-version compatibility helper.
*
* @package PHPCompatibility
* @copyright 2012-2019 PHPCompatibility Contributors
* @license https://opensource.org/licenses/LGPL-3.0 LGPL3
* @link https://github.com/PHPCompatibility/PHPCompatibility
*/
/*
* Alias a number of PHPCS 3.x classes to their PHPCS 2.x equivalents.
*
* This file is auto-loaded by PHPCS 3.x before any sniffs are loaded
* through the PHPCS 3.x `<autoload>` ruleset directive.
*
* {@internal The PHPCS file have been reorganized in PHPCS 3.x, quite
* a few "old" classes have been split and spread out over several "new"
* classes. In other words, this will only work for a limited number
* of classes.}}
*
* {@internal The `class_exists` wrappers are needed to play nice with other
* external PHPCS standards creating cross-version compatibility in the same
* manner.}}
*/
if (defined('PHPCOMPATIBILITY_PHPCS_ALIASES_SET') === false) {
if (interface_exists('\PHP_CodeSniffer_Sniff') === false) {
class_alias('PHP_CodeSniffer\Sniffs\Sniff', '\PHP_CodeSniffer_Sniff');
}
if (class_exists('\PHP_CodeSniffer_File') === false) {
class_alias('PHP_CodeSniffer\Files\File', '\PHP_CodeSniffer_File');
}
if (class_exists('\PHP_CodeSniffer_Tokens') === false) {
class_alias('PHP_CodeSniffer\Util\Tokens', '\PHP_CodeSniffer_Tokens');
}
if (class_exists('\PHP_CodeSniffer_Exception') === false) {
class_alias('PHP_CodeSniffer\Exceptions\RuntimeException', '\PHP_CodeSniffer_Exception');
}
if (class_exists('\PHP_CodeSniffer_Standards_AbstractScopeSniff') === false) {
class_alias('PHP_CodeSniffer\Sniffs\AbstractScopeSniff', '\PHP_CodeSniffer_Standards_AbstractScopeSniff');
}
if (class_exists('\Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff') === false) {
class_alias('PHP_CodeSniffer\Standards\Generic\Sniffs\NamingConventions\CamelCapsFunctionNameSniff', '\Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff');
}
define('PHPCOMPATIBILITY_PHPCS_ALIASES_SET', true);
/*
* Register an autoloader.
*
* {@internal When `installed_paths` is set via the ruleset, this autoloader
* is needed to run the sniffs.
* Upstream issue: {@link https://github.com/squizlabs/PHP_CodeSniffer/issues/1591} }}
*/
spl_autoload_register(function ($class) {
// Only try & load our own classes.
if (stripos($class, 'PHPCompatibility') !== 0) {
return;
}
$file = realpath(__DIR__) . DIRECTORY_SEPARATOR . strtr($class, '\\', DIRECTORY_SEPARATOR) . '.php';
if (file_exists($file)) {
include_once $file;
}
});
}