File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+ /**
3
+ * Project: doxygen-php-filters
4
+ * Author: Alex Schickedanz (AbcAeffchen)
5
+ * Date: 05.03.2015
6
+ * License: GPL v2.0
7
+ */
8
+
9
+ // Get the input
10
+ $ source = file_get_contents ($ argv [1 ]);
11
+
12
+ // make traits to classes
13
+ $ regexp = '#trait([\s]+[\S]+[\s]*){# ' ;
14
+ $ replace = 'class$1{ ' ;
15
+ $ source = preg_replace ($ regexp , $ replace , $ source );
16
+
17
+ // use traits by extending them (classes that not extending a class)
18
+ $ regexp = '#class([\s]+[\S]+[\s]*)(implements[\s]+[\S]+[\s]*)?{[\s]+use([^;]+);# ' ;
19
+ $ replace = 'class$1 extends $3 $2 { ' ;
20
+ $ source = preg_replace ($ regexp , $ replace , $ source );
21
+
22
+ // use traits by extending them (classes that already extending a class)
23
+ $ regexp = '#class([\s]+[\S]+[\s]+extends[\s]+[\S]+[\s]*)(implements[\s]+[\S]+[\s]*)?{[\s]+use([^;]+);# ' ;
24
+ $ replace = 'class$1, $3 $2{ ' ;
25
+ $ source = preg_replace ($ regexp , $ replace , $ source );
26
+
27
+ // Output
28
+ echo $ source ;
You can’t perform that action at this time.
0 commit comments