protected function getKernelClass()
    {
        $path = codecept_root_dir() . $this->config['app_path'];
        if (!file_exists(codecept_root_dir() . $this->config['app_path'])) {
            throw new ModuleRequireException(
                __CLASS__,
                "Can't load Kernel from $path.\n"
                . "Directory does not exists. Use `app_path` parameter to provide valid application path"
            );
        }

        $finder = new Finder();
        $finder->name('*Kernel.php')->depth('0')->in($path);
        $results = iterator_to_array($finder);
        if (!count($results)) {
            throw new ModuleRequireException(
                __CLASS__,
                "File with Kernel class was not found at $path. "
                . "Specify directory where file with Kernel class for your application is located with `app_path` parameter."
            );
        }

        if (file_exists(codecept_root_dir() . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php')) {
            // ensure autoloader from this dir is loaded
            require_once codecept_root_dir() . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
        }

        $filesRealPath = array_map(function ($file) {
            require_once $file;
            return $file->getRealPath();
        }, $results);

        $possibleKernelClasses = $this->getPossibleKernelClasses();

        foreach ($possibleKernelClasses as $class) {
            if (class_exists($class)) {
                $refClass = new \ReflectionClass($class);
                if ($file = array_search($refClass->getFileName(), $filesRealPath)) {
                    return $class;
                }
            }
        }

        throw new ModuleRequireException(
            __CLASS__,
            "Kernel class was not found in $file. "
            . "Specify directory where file with Kernel class for your application is located with `app_path` parameter."
        );
    }
protected function getKernelClass()
    {
        $path = codecept_root_dir() . $this->config['app_path'];
        if (!file_exists(codecept_root_dir() . $this->config['app_path'])) {
            throw new ModuleRequireException(
                __CLASS__,
                "Can't load Kernel from $path.\n"
                . "Directory does not exists. Use `app_path` parameter to provide valid application path"
            );
        }

        $finder = new Finder();
        $finder->name('*Kernel.php')->depth('0')->in($path);
        $results = iterator_to_array($finder);
        if (!count($results)) {
            throw new ModuleRequireException(
                __CLASS__,
                "File with Kernel class was not found at $path. "
                . "Specify directory where file with Kernel class for your application is located with `app_path` parameter."
            );
        }

        if (file_exists(codecept_root_dir() . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php')) {
            // ensure autoloader from this dir is loaded
            require_once codecept_root_dir() . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
        }

        $filesRealPath = array_map(function ($file) {
            require_once $file;
            return $file->getRealPath();
        }, $results);

        $possibleKernelClasses = $this->getPossibleKernelClasses();

        foreach ($possibleKernelClasses as $class) {
            if (class_exists($class)) {
                $refClass = new \ReflectionClass($class);
                if ($file = array_search($refClass->getFileName(), $filesRealPath)) {
                    return $class;
                }
            }
        }

        throw new ModuleRequireException(
            __CLASS__,
            "Kernel class was not found in $file. "
            . "Specify directory where file with Kernel class for your application is located with `app_path` parameter."
        );
    }
protected function getKernelClass ( ) { $ path = codecept_root_dir ( ) . $ this -> config [ 'app_path' ] ; if ( ! file_exists ( codecept_root_dir ( ) . $ this -> config [ 'app_path' ] ) ) { throw new ModuleRequireException ( __CLASS__ , "Can't load Kernel from $path.\n" . "Directory does not exists. Use `app_path` parameter to provide valid application path" ) ; } $ finder = new Finder ( ) ; $ finder -> name ( '*Kernel.php' ) -> depth ( '0' ) -> in ( $ path ) ; $ results = iterator_to_array ( $ finder ) ; if ( ! count ( $ results ) ) { throw new ModuleRequireException ( __CLASS__ , "File with Kernel class was not found at $path. " . "Specify directory where file with Kernel class for your application is located with `app_path` parameter." ) ; } if ( file_exists ( codecept_root_dir ( ) . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php' ) ) { // ensure autoloader from this dir is loaded require_once codecept_root_dir ( ) . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php' ; } $ filesRealPath = array_map ( function ( $ file ) { require_once $ file ; return $ file -> getRealPath ( ) ; } , $ results ) ; $ possibleKernelClasses = $ this -> getPossibleKernelClasses ( ) ; foreach ( $ possibleKernelClasses as $ class ) { if ( class_exists ( $ class ) ) { $ refClass = new \ ReflectionClass ( $ class ) ; if ( $ file = array_search ( $ refClass -> getFileName ( ) , $ filesRealPath ) ) { return $ class ; } } } throw new ModuleRequireException ( __CLASS__ , "Kernel class was not found in $file. " . "Specify directory where file with Kernel class for your application is located with `app_path` parameter." ) ; }
Attempts to guess the kernel location.

When the Kernel is located, the file is required.

@return string The Kernel class name
Attempts to guess the kernel location .