<?php /* Copyright (c) 2009 hamcrest.org */ class FactoryClass { /** * @var string */ private $file; /** * @var ReflectionClass */ private $reflector; /** * @var array */ private $methods; public function __construct($file, ReflectionClass $class) { $this->file = $file; $this->reflector = $class; $this->extractFactoryMethods(); } public function extractFactoryMethods() { $this->methods = array(); foreach ($this->getPublicStaticMethods() as $method) { if ($method->isFactory()) { $this->methods[] = $method; } } } public function getPublicStaticMethods() { $methods = array(); foreach ($this->reflector->getMethods(ReflectionMethod::IS_STATIC) as $method) { if ($method->isPublic() && $method->getDeclaringClass() == $this->reflector) { $methods[] = new FactoryMethod($this, $method); } } return $methods; } public function getFile() { return $this->file; } public function getName() { return $this->reflector->name; } public function isFactory() { return !empty($this->methods); } public function getMethods() { return $this->methods; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
parts | Folder | 0755 |
|
|
FactoryCall.php | File | 611 B | 0644 |
|
FactoryClass.php | File | 1.35 KB | 0644 |
|
FactoryFile.php | File | 2.95 KB | 0644 |
|
FactoryGenerator.php | File | 2.93 KB | 0644 |
|
FactoryMethod.php | File | 5.51 KB | 0644 |
|
FactoryParameter.php | File | 3.46 KB | 0644 |
|
GlobalFunctionFile.php | File | 930 B | 0644 |
|
StaticMethodFile.php | File | 773 B | 0644 |
|
run.php | File | 1.06 KB | 0644 |
|