public function testCannotClone() { $classInfo = ReflectionObject::createFromInstance(new \stdClass()); $this->expectException(Uncloneable::class); $unused = clone $classInfo; }
/** * Create a ReflectionClass from an instance, using default reflectors etc. * * This is simply a helper method that calls ReflectionObject::createFromInstance(). * * @see ReflectionObject::createFromInstance * @param object $instance * @return ReflectionClass */ public static function createFromInstance($instance) { if (gettype($instance) !== 'object') { throw new \InvalidArgumentException('Instance must be an instance of an object'); } return ReflectionObject::createFromInstance($instance); }
/** * {@inheritDoc} */ public function getShortName() { return $this->betterReflectionObject->getShortName(); }
public function testReflectionObjectExportMatchesExpectation() { $foo = new ClassForHinting(); $foo->bar = 'huzzah'; $expectedExport = <<<'BLAH' Object of class [ <user> class BetterReflectionTest\Fixture\ClassForHinting ] { @@ %s - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [1] { Property [ <default> public $someProperty ] } - Dynamic properties [1] { Property [ <dynamic> public $bar ] } - Methods [0] { } } BLAH; $actualExport = ReflectionObject::export($foo); $this->assertStringMatchesFormat($expectedExport, $actualExport); }