route class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer

Werkzaamheden voor jou als software developer Voor een goede relatie in de regio Zwolle (meerdere locaties) zoeken wij een software developer die betrokken is bij de ontwikkelcyclus en verantwoordelijk is voor het testen en keuren van nieuwe en geoptimaliseerde software. In deze functie ben je in de implementatiefase de persoon die risico's beoordeelt en intern oplossingen aanbrengt om risico's te verkleinen. Binnen het ontwikkelteam van de software ben je een belangrijke schakel waar je intensief meewerkt met scrum. Het voorkomen van bugs in de programma's en het bevorderen van gebruiksvriendelijkheid voor eindklanten zijn voor jou een uitdaging en geeft voldoening

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

Front-end Developer

Front-end Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

Software ontwikkelaar ASP .Net / C#

Functie omschrijving Gezocht! Software ontwikkelaar. Ben jij bekend met termen als ASP .Net, C# en SQL? Ben jij op zoek naar een afwisselende en uitdagende IT-functie binnen de agrarische sector? En omschrijf jij jezelf als zelfstandig, enthousiast en proactief? Dan hebben wij de perfecte functie voor jou! Als Software ontwikkelaar binnen deze organisatie ben je samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Je gaat hierbij bijdragen aan de vertaling van klantwensen naar effectieve softwareoplossingen. Verder bestaan je werkzaamheden uit: Technische uitwerking van de business

Bekijk vacature »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

Front end developer binnen de consultancy

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Pagina: 1 2 3 volgende »

Tom Swinkels

Tom Swinkels

22/02/2013 23:03:53
Quote Anchor link
Beste Developers,

Ik zie vaak allemaal ingewikkelde routers tegen komen op internet.

Na even te zoeken kwam ik een vrij simpele router tegen hier op PHPHulp.

Wat is de reden van een uitgebreide moeilijke router? Na mijn mening is dit toch prima?

Enige probleem dat ik nu nog heb, is dat wanneer ik nu naar /artikel/bewerk/234/ dat hij de route /artikel/ pakt, hoe kan ik dit op de beste manier oplossen? Alles een prioriteit meegeven, sorteren op langste route? Wat is de beste manier hiervoor? Of gewoon een kwestie van de routes aanmaken in de goede volgorde?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
class Router
{
    private $_routes;

    public function __construct()
    {

        $this->_routes = array();
    }


    public function setRoute( Route $route )
    {

        $this->_routes[] = $route;
    }


    public function match( $query )
    {

        $routes = $this->_routes;
        if( $routes )
        {

            foreach( $routes as $route )
            {

                $match = $route->match( $query );
                if( $match )
                {

                    return $match;
                }
            }
        }

        return false;
    }
}


class Route
{
    private $_regex;
    private $_controller;

    public function __construct( $pattern, $controller )
    {

        $this->_regex = preg_replace( '#:([a-z])+#','(?P<$1>[^/]+)', $pattern );
        $this->_controller = $controller;
    }


    public function match( $query )
    {

        if( !preg_match( '#'.$this->_regex.'#', $query, $matches ) )
        {

            return false;
        }


        $controller = new Controller();
        $controller->setName( $this->_controller );
        return $controller;
    }
}


class Controller
{
    private $_name;

    public function setName( $name )
    {

        $this->_name = $name;
    }

    public function getName()
    {

        return $this->_name;
    }
}


$router = new Router();
$router->setRoute( new Route( '/artikel/', 'article.view.module') );
$router->setRoute( new Route( '/artikel/bewerk/:id', 'article.edit.module') );
$router->setRoute( new Route( '/artikel/verwijder/:id', 'article.delete.module') );

$controller = $router->match( $request->server( 'REDIRECT_URL' ) );
?>


Even de php-tags geplaatst voor de kleurtjes[/modedit]
Gewijzigd op 07/09/2013 17:20:38 door Nick Dijkstra
 
PHP hulp

PHP hulp

24/11/2024 21:09:44
 
Ward van der Put
Moderator

Ward van der Put

23/02/2013 13:43:43
Quote Anchor link
Hint: je router lijkt op de URI-router van bijvoorbeeld CodeIgniter. Een URL wordt dan min of meer met een explode op / gekoppeld aan een controller class/method:

example.com/controller/function/id

Dat is hetzelfde als je probeert te bereiken met:

/artikel/bewerk/234/

Als je daarmee alleen bij de class /artikel/ uitkomt, mis je dus nog de mapping naar de methode/functie.
 
Tom Swinkels

Tom Swinkels

24/02/2013 20:17:27
Quote Anchor link
Ward, volgens mij snap je niet helemaal wat ik bedoel. Het gaat met namen over de routes die aangemaakt worden.
 
Ward van der Put
Moderator

Ward van der Put

25/02/2013 07:25:54
Quote Anchor link
Routes worden afgehandeld in de volgorde waarin je ze definieert: zodra er een match is, wordt die route gekozen. Je moet daarom werken van specifiek (een lang pad zoals /artikel/bewerk/234/) naar generiek (een kort pad zoals /artikel/).

Goed overzicht van de routing in CodeIgniter en daarin ook de eerste “note”:

http://ellislab.com/codeigniter/user-guide/general/routing.html
 
Wouter J

Wouter J

25/02/2013 10:45:33
Quote Anchor link
Of je maakt gebruik van ^ en $ in je regex, waardoor je dat probleem niet meer hebt.

Waarom deze Router niet snel gebruikt zou worden in grote applicaties en grote frameworks:
- Je hebt geen collections. Hierdoor kun je bijv. niet een hele groep routes tegelijkertijd een prefix meegeven. Denk bijv. aan een aparte groep voor admin routes, die je dan de '/admin' prefix geeft.
- Je mist het gebruik van requirements. Ik kan bijv. niet aangeven dat :id een getal moet zijn.
- Je mist default values, ik kan niet zeggen dat /:slug standaard de waarde 'home' krijgt.
- De Route object mag echt niet gaan bepalen dat er een controller naam wordt teruggegeven. Dat is de taak van een FrontController of Kernel.
- De manier hoe jij met controllers omgaat vind ik nu nog een beetje vreemd, maar misschien wordt het straks wel mooi.
 
Tom Swinkels

Tom Swinkels

15/08/2013 21:40:47
Quote Anchor link
Ik kom toch nog even terug op mijn topic, ik heb het probleem nog steeds niet kunnen oplossen.

Het probleem dat mijn router niet doet wat ik wil en nergens goede / mooie voorbeelden kan vinden zorgt er steeds voor dat ik vast loop.

Graag wil ik gebruik maken van het HMVC pattern.

<#id> moet een getal zijn
<:slug> moet een string zijn

Hopelijk kunnen jullie mij de goede richting in duwen.
 
Tom Swinkels

Tom Swinkels

07/09/2013 01:54:20
Quote Anchor link
*schop*

Ook lees ik dat vele bij het toevoegen van een route een array meesturen met de Contoller, Module en Action.
Bijvoorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$router->setRoute( new Route( '/artikel/bewerk/:id', array( 'module' => 'article', 'controller' => 'edit', 'action' => 'index' ) ) );

Waarom wordt er gekozen voor een array? Waarom wordt er niet gekozen voor deze manier?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$router->setRoute( new Route( '/artikel/bewerk/:id', 'article', 'edit', 'index' ) );
Gewijzigd op 07/09/2013 01:54:37 door Tom Swinkels
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/09/2013 09:57:51
Quote Anchor link
waarom doe je het niet gewoon zo?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$routes
= array(
    'home',
    'contact',
    'contact/thanks'
);


$uri = $_SERVER['PATH_INFO'];
$uri = strtolower($uri);
$uri = substr($uri, 1);

if(array_search($uri , $routes))
    echo $uri;
else
    echo 'not found';

?>
 
Tom Swinkels

Tom Swinkels

07/09/2013 12:12:15
Quote Anchor link
@Frank, dit is totaal niet wat ik wil.

Iemand anders die er even een oog op wil werpen?
 
Ozzie PHP

Ozzie PHP

07/09/2013 15:02:18
Quote Anchor link
@Frank: dat is iets heel anders dan wat de topic starter vraagt :)

@Tom: waarom er voor een array wordt gekozen? Stel dat de routes uit een configuratiebestand komen (wat heel gebruikelijk is) dan kun je ze via een foreach-loop gemakkelijk inladen. Dan krijg je zoiets als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach ($routes as $route) {
  $router->setRoute(new Route($route['url'], $route['parameters']));
}

?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/09/2013 15:33:28
Quote Anchor link
Tom Swinkels op 22/02/2013 23:03:53:
Enige probleem dat ik nu nog heb, is dat wanneer ik nu naar /artikel/bewerk/234/ dat hij de route /artikel/ pakt, hoe kan ik dit op de beste manier oplossen?


Dat is waar ik een oplossing op gaf dat natuurlijk verder uitgewerkt kan worden.
 
Ward van der Put
Moderator

Ward van der Put

07/09/2013 15:40:44
Quote Anchor link
Je kunt routing via URL's vergelijken met het ontleden van een zin: “X moet dit met dat doen.” Je hebt dan een onderwerp, een persoonsvorm, een lijdend voorwerp en een meewerkend voorwerp.

Met een array kun je in één keer een compleet verhaal vertellen. Met losse strings blijft het bij die ene instructie.
 
Wouter J

Wouter J

07/09/2013 17:00:02
Quote Anchor link
Met een array ben je ook veel meer flexibel.

En voor het antwoord op je vraag, die heb ik al lang beantwoord: "Of je maakt gebruik van ^ en $ in je regex, waardoor je dat probleem niet meer hebt."
 
Ozzie PHP

Ozzie PHP

07/09/2013 17:02:03
Quote Anchor link
Ward van der Put op 07/09/2013 15:40:44:
Met een array kun je in één keer een compleet verhaal vertellen. Met losse strings blijft het bij die ene instructie.

Ward, is toch ook een kwestie van persoonlijke voorkeur?

Je zou een nieuwe user zo kunnen aanmaken:

$user = new User('Piet', 'Amsterdam', 35);

Of zo:
$user_info = array('Piet', 'Amsterdam', 35);
$user = new User($user_info);

Alleen als de informatie niet hard-coded is (wat meestal het geval is), en bijv. uit een configuratiebestand, formulier of database komt, dan lijkt me de laatste optie handiger.
Gewijzigd op 07/09/2013 17:02:55 door Ozzie PHP
 
Ward van der Put
Moderator

Ward van der Put

07/09/2013 17:23:44
Quote Anchor link
Ja en nee Ozzie, kijk bijvoorbeeld naar je eigen voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$user
= new User('Piet', 'Amsterdam', 35);
?>

Omdat we alleen de waarden noemen maar niet de eigenschappen, kunnen we nooit meer een 35-jarige Piet met voorlopig onbekende woonplaats verwerken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$user
= new User(35, 'Piet');
?>

Tweede punt is dat we zonder array niet Piet én zijn hele voetbalclub in één keer kunnen toevoegen. Nee, zonder array moeten we Piet, Jan, Joris, Corneel allemaal één voor één toevoegen.
Gewijzigd op 07/09/2013 17:24:38 door Ward van der Put
 
Wouter J

Wouter J

07/09/2013 17:24:39
Quote Anchor link
Wat is vooral is in dit voorbeeld: Wie zegt dat die route aan een controller wordt gekoppeld? Dat is helemaal niet de taak van de Routing, dat moet iets als een ControllerResolver of FrontController doen. Omdat dat niet de taak is van Routing moet je in routing ook geen specifieke argumenten maken voor deze dingen.
 
Ozzie PHP

Ozzie PHP

07/09/2013 20:31:32
Quote Anchor link
@Ward: dan kun je toch ook zoiets doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$user
= new User('Piet', false, 35); // woonplaats onbekend
?>


Een voetbalelftal toevoegen zou je inderdaad in een array doen... maar heeft niks met een user object te maken uiteraard. Maar wat zou dan de stelregel moeten zijn? Alles wat bij elkaar hoort (wat toebehoort aan 1 persoon of ding) in een array stoppen?
 
Tom Swinkels

Tom Swinkels

08/09/2013 04:49:04
Quote Anchor link
Bedankt voor alle reacties.

Ik denk dat je bij een route altijd een controller, action en model nodig hebt?

Maar ik snap jullie reacties, de vraag is alleen of dat hier voor komt?
Mijn voorkeur gaat altijd naar setters, omdat je dan namelijk weet wat er in die setter thuis hoort.
Wanneer je dus alles direct in de construct gooit, kan het zijn dat je soms niet meer weer welke volgorde e.t.c
 
Wouter J

Wouter J

08/09/2013 13:22:38
Quote Anchor link
Ik hou me altijd aan de volgende redenen, die ook vaak gebruikt worden door anderen:
- wanneer je iets instelt wat vaak hetzelfde is, gewoon echt de configuratie, gebruik je arrays
- anders gebruik je gewoon setters
- geef iets mee aan de constructor wanneer het nodig is voor de klasse om te werken. Een newsletter kan bijv. best werken zonder mailer, want je kan de nieuwsbrief ook als concept opslaan. Echter een router kan niet zonder routes en de request uri, die voeg je dus mee aan de constructor.

Tevens komen er in php 5.6 waarschijnlijk named arguments. Welke het probleem hierboven met het weglaten van de plaats een stuk makkelijker maakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
new User('name' => 'Piet', 'age' => 35);
?>


Tevens zou ik nooit false durven gebruiken als ik geen waarde wil opgeven voor een string. Liever null, of nog beter een lege string.
 
Ozzie PHP

Ozzie PHP

08/09/2013 14:23:15
Quote Anchor link
Thanks Wouter. Voor wanneer staat versie 5.6 op de agenda?

"Tevens zou ik nooit false durven gebruiken als ik geen waarde wil opgeven voor een string. Liever null, of nog beter een lege string."

Klopt. Was ook maar even snel een voorbeeldje. Ik zou in dit geval voor null gaan.
 
Wouter J

Wouter J

08/09/2013 14:38:04
Quote Anchor link
maart/juni/juli 2014
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.