Diensten
Strategie
06/01/2024
Als je ooit WordPress hebt gebruikt in een webontwikkelingscontext, weet je hoe tijdrovend het kan zijn om code te creëren en te onderhouden in dit soort projecten – vaak spaghetti-achtig, zoals de afbeelding bij dit artikel illustreert. Gelukkig zijn er oplossingen.
WordPress kan namelijk als relatief archaïsch worden beschouwd in zijn ontwerp; zowel op het gebied van de databasearchitectuur (alle posttypes in één tabel, geen migratiesysteem of ORM …) als in zijn interne architectuur (nagenoeg geen routersysteem, geen scheiding van verantwoordelijkheden in de code, geen templatemotor, …).
Kortom, WordPress biedt een vrij aangename administratie, flexibiliteit bij het creëren van inhoud en het ophalen ervan uit de database, maar laat je een beetje aan je lot over als het gaat om het netjes houden van de code, vooral wanneer je iets complexere functies wilt toevoegen.
Wanneer je een nieuwe WordPress installeert, krijg je slechts een paar eenvoudige PHP-bestanden waarin HTML en PHP door elkaar lopen – zoals we in de jaren 2000 deden – en waarin het steeds moeilijker wordt om nieuwe functies toe te voegen naarmate er meer code aan wordt toegevoegd. Dit kan snel moeilijk te onderhouden worden als je niet oppast, wat tijdverlies kan veroorzaken en mogelijk zelfs andere functies kan breken wanneer je iets aanpast.
Als je een ervaren oog hebt, zul je merken dat dit een misstand is die absoluut vermeden moet worden. We hebben hier namelijk een zeer eenvoudige code, maar je kunt al voelen dat het onderhoud gecompliceerd zal worden als er meer complexiteit aan de applicatie wordt toegevoegd.
Een vraag drong zich toen aan ons op: Hoe kunnen we de kwaliteit en onderhoudbaarheid van onze WordPress-toepassingen verbeteren?
Het werd dus noodzakelijk om ons te laten inspireren door de beste praktijken in het veld en deze toe te passen, namelijk: de SOLID-principes respecteren.
Dit acroniem staat voor alle goede praktijken die zouden moeten worden toegepast in moderne ontwikkelingsprojecten om netheid, duidelijkheid, flexibiliteit en snelheid te bevorderen.
Om dit te respecteren, hebben we ons denkproces in verschillende stappen verdeeld:
Allereerst, weg met de prefab-thema’s; we maken alleen maatwerk-thema’s. Vervolgens moesten we zoveel mogelijk zonder plugins werken om maximale controle over de bedrijfslogica te behouden; elke klant heeft natuurlijk zijn eigen behoeften, dus we moeten alles gemakkelijk kunnen aanpassen zonder te hoeven vechten met de legacy-code van de plugin of het thema.
Sommige plugins blijven echter onmisbaar, zoals WPML voor internationalisering of ACF voor het gebruik van aangepaste velden in de verschillende inhoudstypes. Alles wat echter via een backoffice-configuratie moet worden gedaan, moet indien mogelijk worden vermeden, zoals de configuratie en aanmaak van ACF-velden of de creatie en het beheer van formulieren, waarvoor geen enkele plugin zal worden gebruikt.
Vervolgens moesten we de manier waarop de pagina’s worden weergegeven, rationaliseren. Standaard laadt WordPress simpelweg een .php-bestand dat verband houdt met de pagina die je wilt bekijken, waardoor je wordt aangemoedigd om alle logica in datzelfde bestand te coderen.
Om ons hierbij te helpen, hebben we gekozen voor een bekende ontwerpstijl: het MVC-patroon, waarmee we onze applicatie netjes kunnen opdelen in verschillende kleine, herbruikbare modules.
De klant vraagt om een pagina ⇒ de bijbehorende controller zorgt voor het verzamelen van de gegevens die nodig zijn voor de weergave door andere klassen aan te roepen die zich met een specifieke taak bezighouden ⇒ een templaterendermotor compileert een bestand dat alleen HTML-tags en de weergave van variabelen uit de controller bevat.
Op deze manier krijgen we een duidelijke scheiding van de bedrijfslogica en het uiteindelijke bestand dat wordt weergegeven, is vrij van andere tags dan HTML, wat de flexibiliteit van onze applicatie aanzienlijk vergemakkelijkt, aangezien elke klasse eenvoudig door een andere kan worden hergebruikt, waardoor code duplicatie wordt vermeden.
Natuurlijk zijn er ook andere mogelijkheden en goede praktijken om aan te nemen, die het onderwerp zullen zijn van toekomstige artikelen.
16/10/2024
Diensten
Strategie
Website
09/10/2024
Diensten
Productiviteit
Strategie
26/09/2024
Diensten
Nieuws
Productiviteit
Strategie
15/09/2024
Nieuws
Website
06/09/2024
Bedrijfsapplicaties
Diensten
Productiviteit
Bedrijfsapplicaties
Bedrijfswebsite
eCommerce
Lead generation
Begeleiding
Subsidies
UX/UI Design
Moodboard
Logo design
Design system
Technische Audit
SEO Audit
Persoonlijke Analyse
Gestructureerde Planning
Back-up en Gegevensbeveiliging
Efficiënte en Precieze Migratie
Optimalisatie en Tests
Geavanceerde AWS-omgeving
Staging- en Productieomgevingen
Dockerisatie en Replicatie
Versterkte Beveiliging
Optimale Prestaties
Zelfbeheerde en 24/7 gemonitorde infrastructuur
Continue Integratie en Volgen van Ontwikkelingen
Laten we praten over
uw project!
Neem contact met ons op om uw behoeften te bespreken onder het genot van een kop koffie!