php-dextrin

Provider
in package

FinalYes

Compiles and registers one {@see DXNSchemaProvider} into a {@see Registry}, in order:

  1. Decodes and compiles the provider's own dxnSchema() source into the registry. Every named type and every %schema} entry that document defines gets folded in, not only the one dxnSchemaName() points at.
  2. Looks up dxnSchemaName() in the now-compiled registry -- if it isn't there (the provider declared a name its own document doesn't define), throws a specific error naming both, rather than silently registering nothing.
  3. Associates dxnClass() with that schema name (Registry::putStructModule()) -- what lets encode()/encodeBinary() serialize instances of it directly and lets {form: 'reference', name} checks recognize it.
  4. If the provider implements DXNSchemaMaterializingProvider, registers its dxnMaterialize() (Registry::putStructMaterializer()). If not, decoding this schema falls back to the default plain field map.

Table of Contents

Methods

registerProvider()  : Registry
__construct()  : mixed

Methods

__construct()

private __construct() : mixed
On this page

Search results