<?php
namespace Foo\Bar;
trait Baz {
}
final class Xyz {
private function __construct() {
}
public static function getNamespace() {
return 'Bar';
}
}
namespace Drupal\Tests;
// In order to manage different method signatures between PHPUnit versions, we
// dynamically load a compatibility trait dependent on the PHPUnit runner
// version.
if (!trait_exists(PhpunitVersionDependentTestCompatibilityTrait::class, FALSE)) {
class_alias("Foo\\" . \Foo\Bar\Xyz::getNamespace() . "\Baz", PhpunitVersionDependentTestCompatibilityTrait::class);
}
/**
* Makes Drupal's test API forward compatible with multiple versions of PHPUnit.
*/
trait PhpunitCompatibilityTrait {
use PhpunitVersionDependentTestCompatibilityTrait;
}
$ref = new \ReflectionClass(PhpunitCompatibilityTrait::class);
var_dump($ref->getStartLine());
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
int(29)