Open samizdam opened 3 years ago
I had to create a subclass of SchemaContainer
containing this:
public function register(string $type, $schema): void
{
if (true === empty($type) || (false === \class_exists($type) && false === \interface_exists($type))) {
throw new InvalidArgumentException(_(static::MSG_INVALID_MODEL_TYPE));
}
// …
But I would prefer to not have to do this as well.
Case: I have multiple implementation for my entity interface and one schema for all it.
Now SchemaContainer
class_exists()
, but notinterface_exists()
get_classs()
for check instance type - and known only about last class from object class parentsNew logic for support interface/superclass in map for encoder should check class hierarchy in entries.
Now I need create proxy for all resource and wrap all data entries in my request handler. Another possible ugly way - write every final implementation to encoder map with dublicated schema. Manual to config file, or generate by some rules (scan sources, annotations, etc). 20-50 entries in my case.