Oude PHP-applicatie moderniseren, stap voor stap.
Sindo moderniseert legacy PHP- en Laravel-applicaties naar PHP- en Laravel-versies die nog ondersteund worden. Gefaseerd, met tests als vangnet en zonder dat je applicatie offline moet. Die dienst bieden we aan onder de naam PHPPilot.
Wanneer een oude PHP-versie een bedrijfsrisico wordt
Een PHP-applicatie die vandaag werkt, werkt morgen waarschijnlijk ook nog. Precies daarom blijft modernisering zo vaak liggen. Maar elke PHP-versie krijgt maar een beperkte tijd beveiligingsupdates, en voor Laravel geldt hetzelfde. Daarna draai je op software waarvoor geen fixes meer verschijnen, ook niet als er een lek gevonden wordt.
In de praktijk merk je het aan signalen zoals deze:
- Je hostingpartner wil de oude PHP-versie uitfaseren.
- Packages kunnen niet meer geüpdatet worden zonder dat alles tegelijk moet.
- Een koppeling met een moderne API lukt niet, omdat de SDK een nieuwere PHP-versie vraagt.
- Developers willen er niet meer aan werken, of rekenen er een stevige risicopremie voor.
Herken je daarnaast dat niemand de applicatie nog echt kent, omdat de oorspronkelijke ontwikkelaar weg is? Lees dan eerst hoe we een bestaande webapplicatie overnemen.
Wat modernisering concreet inhoudt
Een upgrade gebeurt niet met één druk op de knop. Dit zijn de technieken die we bij elk traject inzetten.
PHP-versie upgraden
Van PHP 5.x of 7.x naar een PHP-versie die nog beveiligingsupdates krijgt. Inclusief alle code die onderweg breekt.
Laravel-upgrades
Oude Laravel-versies, ook uit de 5.x-reeks, naar de huidige release. In tussenstappen, zodat elke stap apart te testen valt.
Dependencies en security
Verouderde of verlaten packages vervangen, Composer op orde, gekende kwetsbaarheden weg. Authenticatie en wachtwoordopslag naar de standaard van vandaag.
Rector
Geautomatiseerde refactoring voor het repetitieve werk: verouderde syntax, deprecated functies, type-declaraties. Wat Rector niet kan, doen we met de hand.
PHPStan
Statische analyse vindt fouten zonder dat de code moet draaien. We trekken het niveau stap voor stap op, in plaats van alles in één keer te willen oplossen.
Automatische tests
Tests in Pest rond de processen waar je bedrijf van afhangt, nog voor we grote wijzigingen doen. Zonder vangnet is elke upgrade een gok.
Rewrite of gefaseerde migratie?
De verleiding om alles opnieuw te bouwen is groot. Nieuwe code, een nieuw framework, geen erfenis. Maar een rewrite betekent dat je maanden investeert voor je klanten of medewerkers er iets van merken, terwijl de oude applicatie ondertussen ook onderhouden moet worden. En alle regels en uitzonderingen die in de oude code zitten, moet je opnieuw ontdekken. Meestal op de harde manier.
Gefaseerd moderniseren draait dat om. De applicatie blijft in gebruik en wordt onderdeel per onderdeel vernieuwd. Elke stap is klein genoeg om te testen en, als het moet, terug te draaien.
Herbouwen kan wel de juiste keuze zijn. Bijvoorbeeld als het datamodel niet meer klopt met hoe je bedrijf vandaag werkt, of als er zo weinig bedrijfslogica in de applicatie zit dat er weinig te bewaren valt. Die afweging maken we na de audit, niet ervoor.
Hoe een moderniseringstraject verloopt
-
STAP 01
Audit
We brengen de code, de versies, de dependencies en de risico's in kaart. Je krijgt een helder rapport met wat dringend is en wat kan wachten.
≈ 1 week · vaste prijs -
STAP 02
Vangnet
Een pipeline die elke wijziging automatisch controleert, statische analyse en tests rond de kritieke processen. Nog voor we iets aan de applicatie veranderen.
-
STAP 03
Gefaseerde upgrade
PHP- en frameworkversies in tussenstappen, met Rector voor het repetitieve werk en handwerk waar het moet.
-
STAP 04
Live zonder downtime
Elke stap gaat apart live, na de tests. Je gebruikers merken er niets van, behalve dat het sneller en stabieler wordt.
Van Laravel 5.2 naar de huidige Laravel-versie: BPMF
De ledenapplicatie van de Belgische Paramotor Federatie draaide bijna tien jaar op Laravel 5.2. Geen beveiligingsupdates meer, geen PHP 8, en elke nieuwe functie was een gevecht met de oude code.
Sindo bracht de applicatie naar de huidige Laravel-versie, zonder dataverlies. Authenticatie en de bescherming van ledengegevens zitten weer op het niveau van vandaag. Bestaande processen, zoals de registratie van lidmaatschappen, werden kritisch herbekeken, en er kwamen nieuwe functies bij.
PHPPilot: modernisering als vaste dienst
PHPPilot is de naam waaronder Sindo legacy PHP-modernisering aanbiedt. De werkwijze, de audit en de technische details vind je op phppilot.be.
Wil je na de upgrade nieuwe functies bouwen op de vernieuwde codebase? Dat doen we ook. Lees meer over Laravel-ontwikkeling bij Sindo.
Over PHP-modernisering.
Staat je vraag er niet tussen? Stel ze rechtstreeks
Wat kost het moderniseren van een PHP-applicatie?
Moet mijn applicatie offline tijdens de upgrade?
Van welke PHP-versie kunnen jullie vertrekken?
Werkt dit ook voor een PHP-applicatie zonder framework?
Wat zijn Rector en PHPStan?
Laat je legacy applicatie analyseren
Stuur ons wat je weet: PHP-versie, framework, wat de applicatie doet. Dan bekijken we samen of een audit zinvol is.