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\PHPUnitView 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 |