diff --git a/bootstrap/kernel_bootstrap.php b/bootstrap/kernel_bootstrap.php index 34a5fa0..5506341 100644 --- a/bootstrap/kernel_bootstrap.php +++ b/bootstrap/kernel_bootstrap.php @@ -26,25 +26,27 @@ $xml = new \SimpleXMLElement(file_get_contents($phpUnitFile)); -$envDir = $xml->xpath("//php/server[@name='KERNEL_DIR']"); -if (!count($envDir)) { - throw new \Exception( - 'Kernel path must be set via ' - ); -} $envClass = $xml->xpath("//php/env[@name='KERNEL_CLASS']"); - -$kernelClass = count($envClass) ? (string) $envClass[0]['value'] : 'AppKernel'; -$kernelNs = explode('\\', $kernelClass); -$kernelFile = $rootDir.'/'.$envDir[0]['value'].'/'.array_pop($kernelNs).'.php'; - -if (!file_exists($kernelFile)) { - throw new \Exception(sprintf( - 'Cannot find kernel file "%s"', - $kernelFile - )); +if (count($envClass)) { + $kernelClass = (string) $envClass[0]['value']; +} else { + $envDir = $xml->xpath("//php/server[@name='KERNEL_DIR']"); + if (!count($envDir)) { + throw new \Exception( + 'KERNEL_CLASS must be set via ' + ); + } + $kernelClass = 'AppKernel'; + $kernelFile = $rootDir.'/'.$envDir[0]['value'].'/'.$kernelClass.'.php'; + + if (!file_exists($kernelFile)) { + throw new \Exception(sprintf( + 'Cannot find kernel file "%s"', + $kernelFile + )); + } + + require_once $kernelFile; } -require_once $kernelFile; - return new $kernelClass($env, true);