Omgevingsvariabelen

Environment variables, Omgevingsvariabele, Environment vars, Env vars, Configuratievariabelen, Systeemvariabelen
Omgevingsvariabelen zijn configuratie-instellingen die buiten de code worden opgeslagen, zoals API-sleutels en database-credentials. Ze maken code veiliger en flexibeler.

Wat zijn omgevingsvariabelen?

Omgevingsvariabelen zijn configuratie-instellingen die je buiten je broncode opslaat, zoals database-wachtwoorden, API-sleutels en server-adressen. Ze werken als een apart bestand of systeeminstelling waarin je gevoelige gegevens of omgevingsafhankelijke waardes plaatst. Hierdoor kan dezelfde code draaien op verschillende omgevingen (ontwikkeling, test, productie) zonder dat je telkens code hoeft aan te passen. Voor een MKB-bedrijf met een webshop of maatwerk-applicatie voorkom je zo dat wachtwoorden in je GitHub-repository terechtkomen of dat een ontwikkelaar per ongeluk productie-data overschrijft tijdens een test.

Hoe omgevingsvariabelen werken in de praktijk

Je definieert omgevingsvariabelen in een apart configuratiebestand (vaak .env genoemd) of rechtstreeks in je hostingomgeving. Je applicatie leest deze variabelen bij het opstarten in. Stel je hebt een webshop die verbinding maakt met Mollie voor betalingen. In plaats van je Mollie API-sleutel hard-coded in je PHP- of JavaScript-bestand te zetten, zet je hem in een omgevingsvariabele zoals MOLLIE_API_KEY. Je code haalt die waarde op met een functie als getenv() of process.env. Wissel je van test- naar live-sleutel? Dan pas je alleen de waarde in je .env-bestand aan, niet je hele codebase. Dat scheelt fouten en maakt deployment naar nieuwe servers veel sneller.

Waarom omgevingsvariabelen ontstonden en waarom ze nu essentieel zijn

Vroeger plaatsten ontwikkelaars configuratie vaak direct in de code. Dat werd een probleem toen teams groter werden en code via platforms als GitHub werd gedeeld. Wachtwoorden en sleutels kwamen publiekelijk online te staan, met datalekken en beveiligingsincidenten tot gevolg. De Twelve-Factor App-methodologie maakte omgevingsvariabelen tot standaard. Tegenwoordig eisen hosting-platforms als Kinsta, Cloudways en Vercel dat je gevoelige data via omgevingsvariabelen configureert. Ook voor AVG-compliance is het verstandig: je scheidt configuratie van code, waardoor audits eenvoudiger worden en je minder risico loopt op onbedoelde openbaarmaking van persoonsgegevens.

Wat omgevingsvariabelen opleveren voor webprojecten

Voor een MKB-bedrijf met een WordPress-site, webshop of maatwerk-applicatie bieden omgevingsvariabelen drie concrete voordelen. Ten eerste verhoog je de beveiliging: API-sleutels en wachtwoorden staan niet in je code-repository. Ten tweede maak je deployment flexibeler: dezelfde codebase draait op lokale ontwikkelomgeving, staging-server en productie, elk met eigen database-credentials. Ten derde vereenvoudig je samenwerking: een nieuwe developer klopt zijn eigen .env-bestand en kan direct aan de slag zonder productie-toegang. Bij webontwikkeling door Monkey Vision richten we standaard omgevingsvariabelen in voor alle custom projecten, zodat je applicatie schaalbaar en veilig blijft naarmate je team of infrastructuur groeit.

Toepassingen van omgevingsvariabelen

Omgevingsvariabelen komen in vrijwel elk webproject voor, maar de manier waarop je ze inzet verschilt per situatie. Hieronder vier concrete toepassingen die je als MKB-ondernemer tegenkomt, plus een besliscriterium wanneer omgevingsvariabelen wel of niet de juiste keuze zijn.

Database-credentials en API-sleutels veilig beheren

De meest voorkomende toepassing: je slaat database-gebruikersnaam, wachtwoord en hostnaam op in omgevingsvariabelen zoals DB_HOST, DB_USER en DB_PASSWORD. Hetzelfde geldt voor API-sleutels van diensten als Mailchimp, Google Maps, Stripe of Mollie. Zo blijven gevoelige gegevens buiten je Git-repository en kunnen teamleden met verschillende toegangsniveaus werken zonder dat iedereen productie-wachtwoorden ziet. Een webshop met 500 producten en integraties met een ERP-systeem heeft vaak tien tot vijftien API-sleutels. Door ze centraal in omgevingsvariabelen te plaatsen, wissel je een verlopen sleutel in één bestand in plaats van door tientallen PHP- of JavaScript-bestanden te zoeken.

Omgevingsspecifieke configuratie voor ontwikkeling, test en productie

Je wilt dat je applicatie op je lokale laptop tegen een test-database draait, op de staging-server tegen een kopie van live data en in productie tegen de echte database. Met omgevingsvariabelen stel je per omgeving een APP_ENV in (bijvoorbeeld local, staging, production). Je code leest die variabele en past gedrag aan: debug-meldingen alleen in local, caching alleen in productie, e-mailnotificaties alleen naar echte klanten in productie. Een B2B-dienstverlener die een klantportaal bouwt, kan zo veilig nieuwe functies testen zonder dat klanten foutmeldingen zien of test-e-mails ontvangen. Dit voorkomt dat je per ongeluk productie-data overschrijft tijdens ontwikkeling.

Feature flags en A/B-test-configuratie

Wil je een nieuwe checkout-flow testen zonder alle bezoekers meteen de nieuwe versie te tonen? Plaats een omgevingsvariabele zoals FEATURE_NEW_CHECKOUT=true of false. Je code controleert die variabele en toont de oude of nieuwe flow. Zo schakel je functies aan of uit zonder code te deployen. Dit is handig voor geleidelijke uitrol: eerst intern testen, dan 10% van bezoekers, dan iedereen. Een webshop die A/B-testing draait op productpagina's, kan via omgevingsvariabelen snel wisselen tussen varianten zonder telkens code te pushen. Let op: voor complexe feature-management zijn dedicated tools als LaunchDarkly krachtiger, maar voor simpele aan/uit-schakelaars volstaan omgevingsvariabelen.

Externe service-endpoints en CDN-URL's centraliseren

Je applicatie haalt afbeeldingen op van een CDN, stuurt notificaties via een webhook of synchroniseert data met een externe API. Die URL's wijzigen soms (migratie naar nieuw CDN, nieuwe API-versie). Door ze in omgevingsvariabelen te plaatsen (CDN_URL, WEBHOOK_ENDPOINT), pas je één regel aan in plaats van tientallen verwijzingen door je code. Een contentzware site met duizenden afbeeldingen op een CDN kan zo in minuten overschakelen van cloudflare.com naar een eigen domein zonder code-aanpassingen. Dit verkort downtime bij infrastructuurwijzigingen van uren naar minuten.

Wanneer omgevingsvariabelen de juiste keuze zijn en wanneer niet

Gebruik omgevingsvariabelen voor gegevens die per omgeving verschillen of geheim moeten blijven: wachtwoorden, API-sleutels, database-credentials, service-endpoints. Gebruik ze niet voor bedrijfslogica of instellingen die onderdeel zijn van je applicatie-configuratie (zoals productcategorieën of tarieven). Die horen in een database of configuratiebestand binnen je code. Ook niet handig: omgevingsvariabelen voor gegevens die marketeers of redacteuren moeten aanpassen. Zij hebben geen toegang tot server-omgevingen. Voor dat soort instellingen is een CMS of admin-interface beter. Een veelgemaakte fout: te veel variabelen aanmaken voor zaken die eigenlijk constanten zijn, zoals de naam van je bedrijf of standaard-taal. Dat maakt configuratie onnodig complex.

Wil je dit toepassen in jouw bedrijf? Monkey Vision helpt MKB-ondernemers met webdesign, SEO en slimme digitale oplossingen. Plan een vrijblijvende kennismaking en ontdek wat er voor jou mogelijk is.

Plan een kennismaking

Veelgestelde vragen

Nee, hoewel beide configuratie opslaan, werken ze anders. Omgevingsvariabelen staan op systeemniveau of in een apart .env-bestand dat niet in versiebeheer zit. Configuratiebestanden zoals config.php of settings.json zitten wél in je code-repository en bevatten vaak niet-gevoelige instellingen zoals taal, tijdzone of standaard-paginagrootte. Het verschil: omgevingsvariabelen zijn omgevingsafhankelijk en geheim, configuratiebestanden zijn code-gebonden en openbaar binnen je team. In de praktijk combineer je beide: configuratiebestanden voor applicatie-logica, omgevingsvariabelen voor credentials en omgevingsspecifieke waardes. Zo houd je je repository schoon en veilig.

De grootste fout: je .env-bestand per ongeluk committen naar Git. Voeg daarom altijd .env toe aan je .gitignore-bestand. Tweede fout: geen voorbeeld-bestand bijhouden. Maak een .env.example met dummy-waardes, zodat nieuwe teamleden weten welke variabelen ze moeten instellen. Derde fout: omgevingsvariabelen gebruiken voor data die eigenlijk in een database hoort, zoals productprijzen of gebruikersrollen. Die data moet via je applicatie beheerbaar zijn, niet via server-configuratie. Vierde fout: geen fallback-waardes instellen. Als een variabele ontbreekt, crasht je applicatie. Check altijd of een variabele bestaat en geef een duidelijke foutmelding of standaardwaarde. Deze fouten leiden tot deployment-problemen en beveiligingsrisico's.

Start met een inventarisatie: welke gevoelige gegevens staan nu hard-coded in je code? Denk aan database-wachtwoorden, API-sleutels en service-URL's. Maak een .env-bestand in de root van je project en verplaats die waardes daarheen. Gebruik een library zoals phpdotenv (PHP), dotenv (Node.js) of python-dotenv (Python) om variabelen in te laden. Pas je code aan: vervang hard-coded waardes door getenv('VARIABELE_NAAM') of process.env.VARIABELE_NAAM. Test grondig op je lokale omgeving. Voeg .env toe aan .gitignore en commit een .env.example met dummy-waardes. Configureer tenslotte je hosting-platform (Kinsta, Cloudways, Vercel) om dezelfde variabelen in productie in te stellen. Bij webontwikkeling door Monkey Vision richten we dit standaard in, inclusief documentatie voor je team.

Over de auteur

Monkey Vision

Monkey Vision is een full-service digitaal bureau in Nijmegen, gespecialiseerd in webdesign, SEO en AI-automatisering voor het MKB. De kennisbank is samengesteld door ons team van online-strategen en doorlopend bijgehouden op basis van actuele inzichten.

Publicatiedatum: 26-04-2026
Laatste update: 27-04-2026