Abstract programmeren

Een verregaande vorm van flexibiliteit op basis van metadata maakt het mogelijk dat de structuur van de data kan worden gewijzigd zonder dat de software zelf hoeft te worden aangepast. Dit kan onder meer de vorm aannemen van de volgende technieken:

  • Een Entity-Attribute-Value (EAV) model kan een groot aantal samengestelde datatypen definieren en data opslaan en opvragen. De typering is variabel dus kan worden gewijzigd door eindgebruikers via een user interface, waarna de data overeenkomstig wordt aangepast. MetaClass beschikt over een plugin voor Symfony/Doctrine waarmee een EAV model kan worden toegevoegd aan bestaande entity classes.
  • Een abstracte user interface kan willekeurige abstracte datatypes afbeelden, er formulieren voor genereren waarmee de data kan worden gewijzigd. Veelal is er ook een zoekfunctie de werkt voor alle mogelijke datatypes. Een voorbeeld is de user interface van het door MetaClass ontwikkelde phpPeanuts framework. Ook API Platform biedt een abstracte user interface.
  • Een abstracte data import en/of export importeert of exporteert data op basis van een mapping. Dit maakt het mogelijk om met dezelfde importfunctie allerlei data uit verschillende bronnen te combineren in één database,
  • Een abstracte koppeling met ElasticSearch die dynamisch een mapping voor ElasticSearch genereert en binnen FOS ElasticaBundle dynamisch gegenereerde indexen an types beschikbaar maakt

Zie de portfolio voor concrete toepassingen of neem contact op voor meer informatie.