private function prepareBuilder(SchemaInterface $schema) { $loader = new YamlLoader(new FileLocator(TESTS_DIRECTORY . '/Resources/Schema')); $this->assertMethodChaining($this->object->registerLoader($loader), 'registerLoader'); $this->assertMethodChaining($this->object->loadSchema('schema.yml'), 'loadSchema'); $this->assertMethodChaining($this->object->loadImplementation('implementation.yml'), 'loadImplementation'); $expected = $schema; $expected->registerType('User', $this->classType('User', 'User')->addProperty($this->property('name', new StringType()))->addProperty($this->property('lastname', new StringType())))->registerType('SuperUser', $this->classType('SuperUser', 'SuperUser', $expected->getType('User'))); }
protected function setUp() { $builder = new SchemaBuilder(); $this->object = $builder->build()->getType('Exception'); }
public function setStreet($street) { $this->street = $street; } /** * @return mixed */ public function getStreet() { return $this->street; } } $cache = new SchemaCache(__DIR__ . '/cache/schema'); if (!$cache->isFresh()) { $locator = new FileLocator(array(__DIR__)); $builder = new SchemaBuilder(); $builder->registerLoader(new YamlLoader($locator)); $builder->loadSchema('schema.yml'); $builder->loadImplementation('implementation.yml'); $schema = $builder->build(); $cache->write($schema, $builder->getResources()); } else { $schema = $cache->get(); } $data = array('name' => 'Łukasz', 'registrationDate' => 1123818123, 'status' => 'ACTIVE', 'addresses' => array(array('street' => 'Sportowa', 'city' => 'Gdynia'), array('street' => 'Zamkowa', 'city' => 'Gdańsk'))); echo 'Raw data' . PHP_EOL; print_r($data); echo PHP_EOL . 'Transformed to "User" type:' . PHP_EOL; $object = $schema->getType('User')->create($data); print_r($object); echo PHP_EOL . 'Extracted data from object of "User" type:' . PHP_EOL;