Ojs\CoreBundle\Tests\BaseTestSetup::useCachedDatabase PHP Метод

useCachedDatabase() защищенный Метод

Use cached database for testing or return false if not
protected useCachedDatabase ( )
    protected function useCachedDatabase()
    {
        $container = static::$kernel->getContainer();
        $om = $this->em;
        $connection = $om->getConnection();
        if ($connection->getDriver() instanceof SqliteDriver) {
            $params = $connection->getParams();
            $name = isset($params['path']) ? $params['path'] : $params['dbname'];
            $filename = pathinfo($name, PATHINFO_BASENAME);
            $backup = $container->getParameter('kernel.cache_dir') . '/' . $filename;
            // The first time we won't use the cached version
            if (self::$isFirstTest) {
                self::$isFirstTest = false;
                return false;
            }
            self::$isFirstTest = false;
            // Regenerate not-existing database
            if (!file_exists($name)) {
                @unlink($backup);
                return false;
            }
            $om->flush();
            $om->clear();
            // Copy backup to database
            if (!file_exists($backup)) {
                copy($name, $backup);
            }
            copy($backup, $name);
            return true;
        }
        return false;
    }