[oop] autoloader inregelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Full stack Python developer

Functie Samen met andere collega’s (een product owner, een software manager en een ervaren ontwikkelaar) ga jij onze producten verder ontwikkelen. Jouw verantwoordelijkheden zullen bestaan uit: – Verder wil gaan met de ontwikkeling van onze bestaande producten; nieuwe features! – Meedenkt over de roadmap van onze producten – Als sparringpartner kan optreden op het gebied van development – Zelf ook nieuwe ideeën op tafel durft te leggen en deze van scratch af aan wilt bouwen Hieronder ook een paar voorbeelden van projecten waar we momenteel mee bezig zijn of binnenkort aan willen beginnen: – Real-time interactie creëren in onze web

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Front end developer

Functie Binnen de functie van Front-end developer werk je mee aan uitdagende klantprojecten. In teamverband werk je aan de voorkant van onze state-of-the-art portaal oplossingen en apps. Dit alles gebeurt in een multidisciplinaire omgeving waarbij je de ruimte hebt om te sparren, je ideeën scherp te stellen, en waar je met de benodigde kennis en ervaring om je heen altijd terecht kunt bij je collega’s voor vragen en ondersteuning. Meestal werk je vanuit ons kantoor maar we bieden ook alle faciliteiten om thuis te kunnen werken. Voor sommige projecten ga je mee naar de klant, wellicht zelfs in het buitenland!

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

PHP Laravel Ontwikkelaar

Functie omschrijving Weet jij alles over Laravel en krijg je energie van het developen van software hiermee? Laat het weten want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch voor klein bedrijf welke softwareoplossingen maakt voor hun klanten. Jouw taken hierbij: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Documentatie schrijven over applicaties. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein bedrijf. Er werken circa 15 medewerkers, verdeeld in meerdere teams, zoals back-end

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »
Ozzie PHP

Ozzie PHP

15/06/2014 15:45:03
Quote Anchor link
Ola,

Ik heb zelf een autoloader gemaakt waarbij ik de namespaces (uitsluitend) via de constructor doorgeef via een array:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$autoloader
= new Autoloader(['foo' => 'path/to/foo', 'bar' => 'path/to/bar']);
$autoloader->register();
?>

Nu zag ik dat de Composer autoloader van Symfony het anders doet, ongeveer zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$autoloader
= new Composer();
$autoloader->add('foo', 'path/to/foo');
$autoloader->add('bar', 'path/to/bar');
$autoloader->register();
?>

Nu vraag ik me af wat daar het voordeel eigenlijk van is (als er dat is). Of maakt het niks uit?
 
PHP hulp

PHP hulp

26/05/2026 13:06:13
 
NOLot -

NOLot -

15/06/2014 17:25:48
Quote Anchor link
Wat denk/vind je zelf?
 
Ozzie PHP

Ozzie PHP

15/06/2014 17:28:24
Quote Anchor link
@NOLot:

Ik stel een vraag... als ik het antwoord wist zou ik de vraag niet stellen...
 
Wouter J

Wouter J

15/06/2014 18:37:10
Quote Anchor link
Na het registeren zou je best nog een klasse kunnen aanpassen door er namespaces aan toe te voegen.
 
Ozzie PHP

Ozzie PHP

15/06/2014 22:15:51
Quote Anchor link
Oké... dat stukje begrijp ik. Van de andere kant....

Op het moment dat je de autoloader aanmaakt en je hebt geen namespaces ingesteld, is er dan wel sprake van een valid object? Je kunt de autoloader registeren, maar er zitten dan geen namespaces in... Vandaar eigenlijk mijn vraag. Is een "lege" autoloader dan toch een valid object omdat je er via de add functie nog namespaces aan kunt toevoegen?? Moet ik dat zo zien?

En nog 2 andere vragen waar je me wellicht bij kunt helpen.

1) De composer autoloader heeft een add method. Vind jij die naam (vanuit jouw persoonlijke voorkeur) goed? Of had je liever addNamespace() als naam gehad?

2) Weet je toevallig of er een reden is waarom bij Composer zo'n add method 2 parameters heeft (een namespace en een path) en waarom ze niet één array als parameter kiezen waardoor je in 1 keer meerdere namespaces kunt meegeven? Dus waarom zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$autoloader
->add('foo', 'path/to/foo');
$autoloader->add('bar', 'path/to/bar');
?>

en niet zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$autoloader
->add(['foo' => 'path/to/foo', 'bar' => 'path/to/bar'];
?>

Is dat ook weer een kwestie van persoonlijke voorkeur, of zit daar nog een bepaalde beweegreden achter?
 
Ward van der Put
Moderator

Ward van der Put

16/06/2014 08:51:33
Quote Anchor link
De beweegreden is misschien dat de tweede parameter paths van add() ook een array kan zijn:

public add(string $prefix, array|string $paths, bool $prepend = false)

Voor uitgebreidere mapping met een array kun je de methode addClassMap() gebruiken met $classMap voor een "class to filename map":

public addClassMap(array $classMap)
 
Ozzie PHP

Ozzie PHP

16/06/2014 11:25:10
Quote Anchor link
Thanks voor je uitleg Ward. Zover was ik nog niet gekomen. Wat vreemd trouwens dat je via de add functie kunt prependen, vind je niet? Je zou toch verwachten dat je die beslisssing pas kunt maken op het moment dat je de autoloader registreert? Of is dit geen prepend van de autoloader-stack, maar een prepend van de namespace zelf binnen de autoloader? Dus stel je hebt namespace 1) foo en 2) bar. En dat je dan foobar toevoegt, en als je die dan prependt, dat het dan 1) foobar, 2) foo en 3) bar wordt. Zou dat het zijn? Als ik de uitleg lees dan lijkt het daar wel op.

Wat vind jij trouwens in dit verband van de method-naam "add"? VInd jij dat duidelijk? Of vind jij dat het addNamespace of iets dergelijks zou moeten zijn?
 
Ward van der Put
Moderator

Ward van der Put

16/06/2014 11:35:58
Quote Anchor link
Het is ook geen autoloader, maar een class loader. Het geheel wordt pas een autoloader als je het registreert.

Die $prepend hoort er eigenlijk wel in ja, anders ondersteun je de PHP-autoloading niet volledig.

>> Wat vind jij trouwens in dit verband van de method-naam "add"?

Aangezien er hier verschillende betekenissen zijn van "to add", zou ik die add() inderdaad anders noemen. Hetzelfde geldt voor set(), want wat betekent "to set"? Je kunt van alles "instellen", dus wees dan liever concreter.

Je moet daarvoor nu naar de signature van de methode kijken. De een vindt dat afdoende, de ander niet:

public set(string $prefix, array|string $paths)
 
Ozzie PHP

Ozzie PHP

16/06/2014 12:02:01
Quote Anchor link
>> Het is ook geen autoloader, maar een class loader. Het geheel wordt pas een autoloader als je het registreert.

Wat is volgens jou het verschil dan tussen een autoloader en class loader?

Het is toch een autoloader, alleen om 'm te activeren moet je 'm nog even registreren. Toch?
 
Ward van der Put
Moderator

Ward van der Put

16/06/2014 12:24:18
Quote Anchor link
Een autoloader laadt niet-geladen klassen automatisch. Dus ja, van een class loader die weet waar bepaalde klassen vandaan te laden zijn, kun je een autoloader maken door deze te registreren.

Eenvoudige oplossingen zonder autoloader gebruiken bijvoorbeeld wel eens een class loader die wordt getriggerd via class_exists(), function_exists() of defined().

Ik denk zelf dat je een autoloader pas een volwaardige autoloader mag noemen als die de autoloading-functionaliteit van PHP zelf gebruikt. Los je het op een andere manier op, dan is het eerder een class loader of een bootstrap.
 
Ozzie PHP

Ozzie PHP

16/06/2014 13:00:05
Quote Anchor link
Ah, op die fiets. Ik snap 'm :)
 
NOLot -

NOLot -

16/06/2014 14:59:08
Quote Anchor link
Ozzie PHP op 15/06/2014 17:28:24:
@NOLot:

Ik stel een vraag... als ik het antwoord wist zou ik de vraag niet stellen...


Dat is nog geen antwoord op mijn vraag. Een eigen mening vormen is helemaal niet slecht. Je loopt echt veel te veel na te denken over dingen, en aan de vragen die je af en toe stelt vraag ik me af of je die tijd niet beter kunt besteden aan het opdoen van ervaring (daadwerkelijk programmeren).

Just my 2 cents...
 
Ozzie PHP

Ozzie PHP

16/06/2014 17:16:19
Quote Anchor link
Oh 2 cents mag je altijd hebben... ik ben alleen tot de conclusie gekomen dat het soms slimmer is om eerst over een juiste aanpak na te denken en daarna pas te gaan programmeren, in plaats van andersom (hoe verleidelijk dat laatste ook is).
 
NOLot -

NOLot -

16/06/2014 20:05:22
Quote Anchor link
Ozzie PHP op 16/06/2014 17:16:19:
Oh 2 cents mag je altijd hebben... ik ben alleen tot de conclusie gekomen dat het soms slimmer is om eerst over een juiste aanpak na te denken en daarna pas te gaan programmeren, in plaats van andersom (hoe verleidelijk dat laatste ook is).


True op het moment dat je al veel kennis hebt is het uitdenken van te voren de logische stap. Ik denk echter dat jij nog lang niet op dat niveau zit, en je veel meer profijt hebt van daadwerkelijk programmeren. Maarja het feit dat je al twee jaar lang dezelfde vragen stelt zegt eigenlijk al meer dan genoeg. Just my 2 cents again...
 



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.