[oop] namespaces

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front End Developer React Vue

Dit ga je doen Meewerken aan de implementaties en ontwikkeling van nieuwe functionaliteiten van de webapplicaties; Ontwikkelen met o.a. React en Vue en HTML/CSS, ook krijg je in verband met de samenwerking ook affiniteit met de backend Ruby on Rails; Ontwikkeling aan de front end voor de koppelingen tussen de diverse systemen; Ontwerpen van interfaces en een bijdrage leveren aan de gebruikerservaring; Zorgdragen voor hoge kwaliteit van code en jezelf (en anderen) blijven verbeteren; Als Senior Front End Developer begeleid je zelf ook FE-development projecten, hierin leid je de projecten en pak jij het initiatief op (bv integratieprojecten). Hier ga

Bekijk vacature »

Front-end Developer

Onze klant is sinds 2 jaar actief als adviseur en bemiddelaar in de verzekeringsmarkt. Sindsdien proberen zij deze slapende markt flink wakker te schudden. Dit willen zij doen door het bouwen van slimme vergelijkers op hun eigen website en die van partners. Het bedrijf wil continu voorop lopen, zodat consumenten eenvoudig de verzekeringen kunnen vinden die het beste bij ze past. Functieomschrijving Als Front-end Developer werk je aan vergelijkingsmodules die consumenten dagelijks gebruiken bij het vergelijken en afsluiten van verzekeringen. Je vindt het leuk om samen te werken met de product owner, bestaande modules te verbeteren en nieuwe vergelijkers "from

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Front-end Angular developer

Functie In jouw rol als Front-End developer werk je samen met de backend developers om middels tweewekelijkse sprints het platform naar een hoger niveau te tillen. Hiernaast heb je affiniteit met data en werk je graag samen met het team om de gegevensintegriteit en -beveiliging te waarborgen, om ervoor te zorgen dat de gebruiker wereldwijd de beste SaaS-services heeft. Deze organisatie heeft meer dan 100 mensen in dienst, waarvan er 45 in Nederland werken. Het ontwikkelteam bestaat uit 10 mensen en is verdeeld in 2 scrumteams. Het eerste team bestaat uit Java en Scala ontwikkelaars. Het tweede team, waar jij

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Core developer wordt jij onderdeel van ons team met drie breed ontwikkelde software engineers en een flexibele schil met zes ervaren freelancers. Jij gaat mee in de visie van onze organisatie om als IoT partner in deze branche specifieke markt “het” platform te blijven innoveren en deze ook steeds slimmer te maken. Wij hopen dan ook zeker dit in de toekomst te kunnen realiseren met bijvoorbeeld Artificial Intelligence. De architectuur van ons platform is opgemaakt uit een deel eigen protocol, een interface laag en een laag welke de protocollen van derde partijen vertaald naar het eigen

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »

Full stack Developer / .NET / Angular / Azure

Dit ga je doen Jij gaat je als Full Stack .NET Developer voornamelijk bezighouden met: Het vertalen van concepten naar passende innovatieve en duurzame oplossingen; Het ontwikkelen van bedrijf kritische en gebruiksvriendelijke applicaties voor de internationale markt en intern gebruik; Bouwen aan software om het Internet of Things netwerk te ondersteunen; Het maken en onderhouden van interfaces tussen systemen aan de hand van API's; Het onderhouden en blijven verbeteren van de ontwikkelde software. Hier ga je werken Binnen deze organisatie zal jij als Full Stack .NET Developer een belangrijke rol krijgen en ga je dagelijks de uitdaging aan om maatwerk

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »
Ozzie PHP

Ozzie PHP

06/06/2014 18:40:24
Quote Anchor link
Ola guys,

Stel ik heb mijn exceptions in de namespace exception staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
ozzie/
      cacher/
             file.php
      exception/
                bar.php
                foo.php

Nu zit ik in mijn framework in de namespace ozzie\cacher. Binnen deze namespace wil ik de bar en foo exception kunnen gooien. Dan moet ik dus "use ozzie\exception" gebruiken.

Deze situatie dat ik "use" moet gebruiken voordat ik bestanden binnen mijn eigen library kan gebruiken komt best vaak voor. Uiteraard valt daar gewoon mee te leven, maar ik vroeg me ineens af... wat nu als ik alleen de namespace "ozzie" zou gebruiken?

In plaats van:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

namespace ozzie\exception;

class foo {

}


?>

Zou je dan dit krijgen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

namespace ozzie;

class exception-foo {

}


?>

Dan staat alles in dezelfde namespace en hoef je dus nooit meer "use" te gebruiken.

Zal wel een stom idee zijn, maar het schoot me ineens te binnen en ik dacht ik gooi het even in de groep...
Gewijzigd op 06/06/2014 18:41:14 door Ozzie PHP
 
PHP hulp

PHP hulp

12/01/2025 06:06:47
 
Dos Moonen

Dos Moonen

06/06/2014 20:19:28
Quote Anchor link
Hoe ben je dan van plan een overzichtelijke mappen structuur te houden? Heel veel PSR-4 autoloaders aanmaken?

Quote:
Deze situatie dat ik "use" moet gebruiken voordat ik bestanden binnen mijn eigen library kan gebruiken komt best vaak voor.

Nee hoor, \Ozzie\Exception\Foo en je hebt geen `use` nodig! `use` is er nou net voor om niet telkens de volledige FQNS te hoeven typen. Je kan `use` zo vaak of zo weinig gebruiken als je zelf wilt.
 
Ozzie PHP

Ozzie PHP

06/06/2014 21:47:19
Quote Anchor link
Dankjewel voor je reactie Dos. Het is ook niet meer dan een hersenspinsel hoor.

>> Hoe ben je dan van plan een overzichtelijke mappen structuur te houden? Heel veel PSR-4 autoloaders aanmaken?

Met een eigen autoloader voor de library kan ik de mappenstructuur aanhouden.

>> Nee hoor, \Ozzie\Exception\Foo en je hebt geen `use` nodig! `use` is er nou net voor om niet telkens de volledige FQNS te hoeven typen. Je kan `use` zo vaak of zo weinig gebruiken als je zelf wilt.

Heb je gelijk in, maar stel ik heb een class van waaruit 3 verschillende exceptions kunnen worden gegooid en in de constructor wordt getypehint op 2 objecten uit een andere namespace. Dan moet ik al 5x use gebruiken. Ik kan ook overal de volledige naam gebruiken, maar dan krijg je dus overal ozzie\zus, ozzie\zo en dat leest niet echt lekker. Ik kan wel in plaats van per exception de complete exception namespace gebruiken zodat je exception\foo en exception\bar krijgt. Dat vind ik op zich wel netjes, maar je moet dan toch altijd use gebruiken. Als alles dezelfde namespace heeft, dus "ozzie", dan hoef je nergens use te gebruiken. Het enige nadeel (denk ik... wellicht zie ik iets over het hoofd) is dat je lange class-names krijgt. Dus ipv class Foo met namespace ozzie\exception krijg je dan iets als Exception-Foo met als namespace ozzie.
 
Dos Moonen

Dos Moonen

06/06/2014 22:35:44
Quote Anchor link
Quote:
Dus ipv class Foo met namespace ozzie\exception krijg je dan iets als Exception-Foo met als namespace ozzie.

- is niet toegestaan, _ wel.
Op die manier ga je dus eigenlijk terug naar het niet hebben van namespaces. Behalve dat third-party libraries geen confilten veroorzaken.

Je weet dat het volgende mogelijk is?
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
<?php

namespace Universe\MilkeyWay\Sol\Terra {
    class Ozzie { public function __construct() { echo 'Ozzie', PHP_EOL;}}
    class Darsstar { public function __construct() { echo __CLASS__, PHP_EOL;}}
    class God { public function __construct() { echo __CLASS__, PHP_EOL;}}
}


namespace {
    use Universe\MilkeyWay\Sol;

    // dit is het interessante deel
    new Sol\Terra\Ozzie;
    new
Sol\Terra\Darsstar;
    new
Sol\Terra\God;
}


?>


Wat betekend dat je Exception\Foo kan gebruiken ipv \Ozzie\B\L\A\Exception\Foo gebruikt.
Verder snap ik niet helemaal wat je tegen `use` hebt. 5x is trouwens niet bepaald wat ik veel noem.
Gebruik je trouwens een IDE of een editor?
 
Ozzie PHP

Ozzie PHP

06/06/2014 22:52:35
Quote Anchor link
>> Op die manier ga je dus eigenlijk terug naar het niet hebben van namespaces. Behalve dat third-party libraries geen confilten veroorzaken.

Ja, daar komt het inderdaad wel op neer. Maar waren namespaces daar ook niet voor bedacht eigenlijk, om conflicten met andere libraries te voorkomen?

>> Wat betekend dat je Exception\Foo kan gebruiken ipv \Ozzie\B\L\A\Exception\Foo gebruikt.

Ik denk niet dat ik helemaal snap wat je bedoelt. Ik snap dat het kan, maar dat ik toch wat ik hierboven ook zei? Dus stel ik heb een cacher en ik wil daarin exceptions gebruiken, dan zet ik bovenin "use ozzie\exception". Alleen het voelt zo stom op de een of andere manier.

Hoe leg ik dat uit. Ik heb dus een ozzie library, en telkens als ik in een class de eigen exceptions van die library wil gebruiken, dan moet ik óf de fqcn gebruiken ozzie\exception\foo of ik moet "use ozzie\exception" toepassen zodat ik "exception\foo" kan gebruiken. Waarom kan ik niet gewoon in m'n eigen library "foo" gebruiken zonder fqcn of "use". Dat was dus even waarover ik zat te denken.
 
Dos Moonen

Dos Moonen

06/06/2014 23:12:18
Quote Anchor link
Quote:
Ja, daar komt het inderdaad wel op neer. Maar waren namespaces daar ook niet voor bedacht eigenlijk, om conflicten met andere libraries te voorkomen?

Ja, maar met jou idee om dan Exception-foo te gebruiken introduceer je je eigen namespace seperator. Gebruik dan aub de officiële...

Quote:
Alleen het voelt zo stom op de een of andere manier.

Jou probleem, leer er mee leven. C, C++, Java, .NET en velen anderen hebben iets soortgelijks.

Ik snap dat je geen `use` wilt gebruiken. Maar vind het geen goede reden. Je hebt meerdere opties, kies er een. `use` gebruiken vind ik het netst. En importeer niet alleen classes maar ook namespaces.
 
Wouter J

Wouter J

06/06/2014 23:21:24
Quote Anchor link
Je weet dat namespacez in de eerste plaatst niet voor de naamgeving bestemt zijn, maar juist voor het groeperen van classen, et creëren van een eigen scope voor classes, functies, etc.

Als je toch alles in 1 namespace gaat gooien, gooi dan lekker het hele namespace gedoe weg, doe alsof je in 2001 leeft en gebruik lekker De_Ouderwetse_Klasse_Namen. Jeeh, ozzie happy geen use statements meer.

En wat is er eigenlijk zo erg aan use statements? Staan ze in de weg? Gebruik dan een IDE die die regels fold of leer gewoon scrollen. Ben je het zat om ze telkens te typen? Anders moet je ze in de code typen, dus geen verschil. Daarnaast kan een beetje IDE voor je automatisch de use statements aanmaken.
 
Ozzie PHP

Ozzie PHP

06/06/2014 23:37:17
Quote Anchor link
>> Ja, maar met jou idee om dan Exception-foo te gebruiken introduceer je je eigen namespace seperator. Gebruik dan aub de officiële...

Nee, dat is dan een class-naam... geen idee eigenlijk of je daar wel - in kunt gebruiken overigens.

>> Ik snap dat je geen `use` wilt gebruiken. Maar vind het geen goede reden. Je hebt meerdere opties, kies er een. `use` gebruiken vind ik het netst. En importeer niet alleen classes maar ook namespaces.

Dat is ook wat ik doe... de namespace importeren. Het is allemaal geen onoverkomelijk probleem hoor. Maar ik vroeg me af of het ook anders kon...

>> Als je toch alles in 1 namespace gaat gooien, gooi dan lekker het hele namespace gedoe weg, doe alsof je in 2001 leeft en gebruik lekker De_Ouderwetse_Klasse_Namen. Jeeh, ozzie happy geen use statements meer.

Easy Wouter ;) Het was zoals ik zei slechts een gedachtengang. Iets om over na te denken. Stukje reflectie.
 
Local Dev

Local Dev

08/06/2014 00:56:01
Quote Anchor link
Quote:
Exception-foo

Waarom zou je een - gebruiken in een class naam?

Quote:
Dat is ook wat ik doe... de namespace importeren. Het is allemaal geen onoverkomelijk probleem hoor. Maar ik vroeg me af of het ook anders kon...

Waarom zou je dit anders willen doen? Wat is er mis met namespaces?
 
Ozzie PHP

Ozzie PHP

08/06/2014 01:02:43
Quote Anchor link
Er is niet iets mis mee, maar ik vroeg me af of het efficiënter kan.

Ik zit in mijn eigen ozzie library. Stel dat ik in namespace ozzie\foo ozzie\bar wil gebruiken, dan zou het best handig zijn als ik niet telkens use ozzie\bar (of wat dan ook) hoef te doen. Maar goed, het kan niet anders.
 
Local Dev

Local Dev

08/06/2014 01:12:32
Quote Anchor link
Ok, hoe zou jij namespaces willen gebruiken?
 
Ozzie PHP

Ozzie PHP

08/06/2014 01:20:38
Quote Anchor link
Wat ik wil kan niet echt... dat alles in je library dezelfde namespace heeft. Maar dat heeft weer andere gevolgen. Wat ik met name soort van "slordig" vind is dat je bij sommige classes veel uses krijgt, die in feite niet veel anders doen dan ervoor zorgen dat ik in de class zelf niet overal het woordje "ozzie" hoef te typen.

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

namespace ozzie\something;

use ozzie\foo;
use ozzie\bar;
use ozzie\baz;

class Boo {

  public function test() {
    $foo = new foo();
    $bar = new bar();
    $baz = new baz();
  }

}


?>

Ik gebruik dus die use-statements zodat in de class zelf het woordje "ozzie" wegvalt. Zonder de use statements zou je dit krijgen:

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
<?php

namespace ozzie\something;

class Boo {

  public function test() {
    $foo = new ozzie\foo();
    $bar = new ozzie\bar();
    $baz = new ozzie\baz();
  }

}


?>

Ik zou het wel mooi vinden als je de 1e optie kan gebruiken, maar dan zonder de use-statements, maar ja... dat kan niet.
 
Ward van der Put
Moderator

Ward van der Put

08/06/2014 09:43:14
Quote Anchor link
>> Ik zou het wel mooi vinden als je de 1e optie kan gebruiken, maar dan zonder de use-statements, maar ja... dat kan niet.

Dat kan, zolang ze maar dezelfde namespace gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
namespace Ozzie;

class Boo
{
    public function test()
    {

        $foo = new Foo();
        $bar = new Bar();
        $baz = new Baz();
    }
}

?>


Dat brengt je dan bij een andere oplossing: het aanpassen van de structuur van je namespace. Als je het gevoel hebt dat use overbodig zou moeten zijn, dan kan dat namelijk betekenen dat je de hiërarchie in de namespace moet verbeteren.
 
Reshad F

Reshad F

08/06/2014 12:38:41
Quote Anchor link
Ozzie PHP op 08/06/2014 01:02:43:
Er is niet iets mis mee, maar ik vroeg me af of het efficiënter kan.

Ik zit in mijn eigen ozzie library. Stel dat ik in namespace ozzie\foo ozzie\bar wil gebruiken, dan zou het best handig zijn als ik niet telkens use ozzie\bar (of wat dan ook) hoef te doen. Maar goed, het kan niet anders.


Maar je typt dit toch ook maar 1x? ( wanneer je een class aan het opbouwen bent ) Overigens is een goed IDE al voorzien van autocompletion en import functionaliteit waardoor je zelfs dit niet hoeft te doen.
 
Ozzie PHP

Ozzie PHP

08/06/2014 14:03:58
Quote Anchor link
@Ward:

>> Dat kan, zolang ze maar dezelfde namespace gebruiken:

Ja, dat weet ik... maar dan zou je complete library dus maar uit 1 namespace bestaan.

>> Dat brengt je dan bij een andere oplossing: het aanpassen van de structuur van je namespace. Als je het gevoel hebt dat use overbodig zou moeten zijn, dan kan dat namelijk betekenen dat je de hiërarchie in de namespace moet verbeteren.

Dat lijkt me vrij onmogelijk eigenlijk. Je zult altijd andere namespaces uit dezelfde libraries moeten importeren, tenzij je dus alles in één-en-dezelfde namespace zet.

@Reshad:

>> Maar je typt dit toch ook maar 1x? ( wanneer je een class aan het opbouwen bent ) Overigens is een goed IDE al voorzien van autocompletion en import functionaliteit waardoor je zelfs dit niet hoeft te doen.

Ja, je typt het ook maar 1x. Maar desalniettemin voelt het soms wat vreemd dat je in je eigen library dingen uit diezelfde library moet gaan importeren.
 



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.