Waarom een plugin maken?

Al sinds versie 1.9 van SPIP bestaat de mogelijkheid om het gedrag van de core aan te passen of uit te breiden met een extensie, zonder dat daarvoor de core zelf hoeft te worden aangepast. De uitbreiding wordt als het waren op de core software geënt. Dit biedt enorm veel mogelijkheden, zowel voor eigen gebruik, maar ook om die extensie met anderen te delen.

Technisch gezien werd de introductie van plugins door het volgende mogelijk gemaakt:
-  alle bestanden van de core kunnen worden "overladen" door een ander bestand [1] en hetzelfde geldt voor functies [2],
-  een API geeft toegang tot een aantal toegangspunten in de code van SPIP.

In vier situaties zou je een plugin nodig kunnen hebben:

-  Functies en opties: je eerste plugin maken, je functies migreren en dus verplaatsbaar maken voor jezelf en voor anderen.

-  Toegangspunten: het bij het activeren van de plugin injecteren van code in het hart van het systeem en daardoor haar functionaliteit aanpassen.

-  Oorspronkelijke bestanden aanpassen: bij de afwezigheid van een toegangspunt delen van de code van SPIP aanpassen zonder daadwerkelijk aan de core te zitten.

-  Je eigen code herschrijven: je eigen script uitvinden dat je in SPIP ent.

Maar kijk voordat je deze rubriek verder leest, eerst eens bij de gratis beschikbare plugins.

Voetnoot

[1Een ander bestand krijgt prioriteit boven een bestand van de core, waardoor de vervangende functionaliteit wordt uitgevoerd.

[2Je zorgt er in feite voor dat SPIP jouw aangepaste functie (met dezelfde naam) vindt, voordat SPIP de standaardfunctie. Je kunt daarbij gebruik maken van allerlei gedefinieerde routines zonder alles opnieuw te hoeven programmeren, zoals lire_fichier (voor het lezen van een bestand), ecrire_fichier (om te schrijven naar een bestand) of preg_files (om een bestand te zoeken). In de documentatie van de code van SPIP vind je meer informatie.

Je kunt ook een kijkje nemen in de lijst van beschikbare plugins

Auteur Hanjo Gepubliceerd op:

Vertalingen: català, corsu, English, Español, français, italiano, Nederlands