'article',], self::getCommonConfig())); } protected static function getCommonConfig():array { return require('config.php'); } } class ArticleMicrodata extends Microdata { public $title; public function toJSON(): string { return 'article json'; } } class ProductMicrodata extends Microdata { public $price; public function toJSON(): string { return 'product json'; } } /* * Implementation * * MircodataFabric::createFromProduct($product)->toJSON(); * MircodataFabric::createFromArticle($article)->toJSON(); */