Buckets:
| namespace Faker; | |
| class Documentor | |
| { | |
| protected $generator; | |
| public function __construct(Generator $generator) | |
| { | |
| $this->generator = $generator; | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function getFormatters() | |
| { | |
| $formatters = []; | |
| $providers = array_reverse($this->generator->getProviders()); | |
| $providers[] = new Provider\Base($this->generator); | |
| foreach ($providers as $provider) { | |
| $providerClass = get_class($provider); | |
| $formatters[$providerClass] = []; | |
| $refl = new \ReflectionObject($provider); | |
| foreach ($refl->getMethods(\ReflectionMethod::IS_PUBLIC) as $reflmethod) { | |
| if ($reflmethod->getDeclaringClass()->getName() == 'Faker\Provider\Base' && $providerClass != 'Faker\Provider\Base') { | |
| continue; | |
| } | |
| $methodName = $reflmethod->name; | |
| if ($reflmethod->isConstructor()) { | |
| continue; | |
| } | |
| $parameters = []; | |
| foreach ($reflmethod->getParameters() as $reflparameter) { | |
| $parameter = '$' . $reflparameter->getName(); | |
| if ($reflparameter->isDefaultValueAvailable()) { | |
| $parameter .= ' = ' . var_export($reflparameter->getDefaultValue(), true); | |
| } | |
| $parameters[] = $parameter; | |
| } | |
| $parameters = $parameters ? '(' . implode(', ', $parameters) . ')' : ''; | |
| try { | |
| $example = $this->generator->format($methodName); | |
| } catch (\InvalidArgumentException $e) { | |
| $example = ''; | |
| } | |
| if (is_array($example)) { | |
| $example = "array('" . implode("', '", $example) . "')"; | |
| } elseif ($example instanceof \DateTime) { | |
| $example = "DateTime('" . $example->format('Y-m-d H:i:s') . "')"; | |
| } elseif ($example instanceof Generator || $example instanceof UniqueGenerator) { // modifier | |
| $example = ''; | |
| } else { | |
| $example = var_export($example, true); | |
| } | |
| $formatters[$providerClass][$methodName . $parameters] = $example; | |
| } | |
| } | |
| return $formatters; | |
| } | |
| } | |
Xet Storage Details
- Size:
- 2.41 kB
- Xet hash:
- 991c9b388f592d944117682566af75df89f17f262c1d1b4562500076e20976a6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.