Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DataProviderHelperFactory.php

class DataProviderHelperFactory

Hierarchy

  • class \PHPStan\Rules\PHPUnit\DataProviderHelperFactory

Expanded class hierarchy of DataProviderHelperFactory

File

vendor/phpstan/phpstan-phpunit/src/Rules/PHPUnit/DataProviderHelperFactory.php, line 14

Namespace

PHPStan\Rules\PHPUnit
View source
class DataProviderHelperFactory {
    
    /** @var ReflectionProvider */
    private $reflectionProvider;
    
    /** @var FileTypeMapper */
    private $fileTypeMapper;
    public function __construct(ReflectionProvider $reflectionProvider, FileTypeMapper $fileTypeMapper) {
        $this->reflectionProvider = $reflectionProvider;
        $this->fileTypeMapper = $fileTypeMapper;
    }
    public function create() : DataProviderHelper {
        $phpUnit10OrNewer = false;
        if ($this->reflectionProvider
            ->hasClass(TestCase::class)) {
            $testCase = $this->reflectionProvider
                ->getClass(TestCase::class);
            $file = $testCase->getFileName();
            if ($file !== null) {
                $phpUnitRoot = dirname($file, 3);
                $phpUnitComposer = $phpUnitRoot . '/composer.json';
                if (is_file($phpUnitComposer)) {
                    $composerJson = @file_get_contents($phpUnitComposer);
                    if ($composerJson !== false) {
                        $json = json_decode($composerJson, true);
                        $version = $json['extra']['branch-alias']['dev-main'] ?? null;
                        if ($version !== null) {
                            $majorVersion = (int) explode('.', $version)[0];
                            if ($majorVersion >= 10) {
                                $phpUnit10OrNewer = true;
                            }
                        }
                    }
                }
            }
        }
        return new DataProviderHelper($this->reflectionProvider, $this->fileTypeMapper, $phpUnit10OrNewer);
    }

}

Members

Title Sort descending Modifiers Object type Summary
DataProviderHelperFactory::$fileTypeMapper private property @var FileTypeMapper
DataProviderHelperFactory::$reflectionProvider private property @var ReflectionProvider
DataProviderHelperFactory::create public function
DataProviderHelperFactory::__construct public function
RSS feed
Powered by Drupal