D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
tattooscyy
/
api
/
vendor
/
phpunit
/
phpunit
/
src
/
Framework
/
Constraint
/
Filename :
ClassHasStaticAttribute.php
back
Copy
<?php declare(strict_types=1); /* * This file is part of PHPUnit. * * (c) Sebastian Bergmann <sebastian@phpunit.de> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace PHPUnit\Framework\Constraint; use PHPUnit\Framework\Exception; use ReflectionClass; /** * Constraint that asserts that the class it is evaluated for has a given * static attribute. * * The attribute name is passed in the constructor. */ final class ClassHasStaticAttribute extends ClassHasAttribute { /** * Returns a string representation of the constraint. */ public function toString(): string { return \sprintf( 'has static attribute "%s"', $this->attributeName() ); } /** * Evaluates the constraint for parameter $other. Returns true if the * constraint is met, false otherwise. * * @param mixed $other value or object to evaluate */ protected function matches($other): bool { try { $class = new ReflectionClass($other); if ($class->hasProperty($this->attributeName())) { return $class->getProperty($this->attributeName())->isStatic(); } } catch (\ReflectionException $e) { throw new Exception( $e->getMessage(), (int) $e->getCode(), $e ); } return false; } }