3
3
namespace PSR2R \Tools ;
4
4
5
5
use Exception ;
6
- use PHP_CodeSniffer ;
6
+ use PHP_CodeSniffer \Config ;
7
+ use PHP_CodeSniffer \Files \File ;
8
+ use PHP_CodeSniffer \Reporter ;
9
+ use PHP_CodeSniffer \Ruleset ;
10
+ use PHP_CodeSniffer \Runner ;
11
+
12
+ $ manualAutoload = getcwd () . '/vendor/squizlabs/php_codesniffer/autoload.php ' ;
13
+ if (!class_exists (Config::class) && file_exists ($ manualAutoload )) {
14
+ require $ manualAutoload ;
15
+ }
7
16
8
17
class Tokenizer {
9
18
@@ -54,6 +63,7 @@ public function tokenize() {
54
63
$ _SERVER ['argc ' ] = count ($ _SERVER ['argv ' ]);
55
64
$ res = [];
56
65
$ tokens = $ this ->_getTokens ($ this ->path );
66
+
57
67
$ array = file ($ this ->path );
58
68
foreach ($ array as $ key => $ row ) {
59
69
$ res [] = rtrim ($ row );
@@ -76,10 +86,20 @@ public function tokenize() {
76
86
* @return array Tokens
77
87
*/
78
88
protected function _getTokens ($ path ) {
79
- $ phpcs = new PHP_CodeSniffer ();
80
- $ phpcs ->process ([], $ this ->root . static ::STANDARD , []);
81
- $ file = $ phpcs ->processFile ($ path );
82
- $ file ->start ();
89
+ $ phpcs = new Runner ();
90
+
91
+ define ('PHP_CODESNIFFER_CBF ' , false );
92
+
93
+ $ config = new Config (['--standard=PSR2 ' ]);
94
+ $ phpcs ->config = $ config ;
95
+ $ phpcs ->init ();
96
+
97
+ $ ruleset = new Ruleset ($ config );
98
+
99
+ $ file = new File ($ path , $ ruleset , $ config );
100
+ $ file ->setContent (file_get_contents ($ path ));
101
+ $ file ->parse ();
102
+
83
103
return $ file ->getTokens ();
84
104
}
85
105
0 commit comments