File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change 25
25
}
26
26
27
27
$ xml = new \SimpleXMLElement (file_get_contents ($ phpUnitFile ));
28
- $ kernelDir = $ xml ->php [0 ]->server [0 ]['value ' ];
29
28
30
- $ kernelFile = $ rootDir .'/ ' .$ kernelDir .'/AppKernel.php ' ;
29
+ $ envDir = $ xml ->xpath ("//php/server[@name='KERNEL_DIR'] " );
30
+ if (!count ($ envDir )) {
31
+ throw new \Exception (
32
+ 'Kernel path must be set via <server name"KERNEL_DIR" value="..."/> '
33
+ );
34
+ }
35
+ $ envClass = $ xml ->xpath ("//php/env[@name='KERNEL_CLASS'] " );
36
+
37
+ $ kernelClass = count ($ envClass ) ? (string ) $ envClass [0 ]['value ' ] : 'AppKernel ' ;
38
+ $ kernelNs = explode ('\\' , $ kernelClass );
39
+ $ kernelFile = $ rootDir .'/ ' .$ envDir [0 ]['value ' ].'/ ' .array_pop ($ kernelNs ).'.php ' ;
31
40
32
41
if (!file_exists ($ kernelFile )) {
33
42
throw new \Exception (sprintf (
38
47
39
48
require_once $ kernelFile ;
40
49
41
- return new AppKernel ($ env , true );
50
+ return new $ kernelClass ($ env , true );
You can’t perform that action at this time.
0 commit comments