[oop] autoloader inregelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat technische klussen uitvoeren op locatie bij klanten.Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

Bekijk vacature »

Junior Software Developer C# Verhuursector Verhuur

Samengevat: Wij ontwikkelen en leveren softwaresystemen voor de logistieke sector en de verhuursector. Ben jij geschikt als Junior Software Developer? Heb je ervaring met Delphi? Vaste baan: C# Software Developer Logistiek HBO €2.500 - €3.900 Deze werkgever is een software ontwikkelaar, gericht op software voor de logistieke sector. Deze werkgever heeft eigen producten ontwikkelen en leveren ook maatwerk. Ons bedrijf kent een boeiende en inspirerende werkomgeving met een open cultuur en mogelijkheden voor je verdere ontwikkeling. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om

Bekijk vacature »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Gezocht: Ervaren VB6 developer met C# ambitie!

Bedrijfsomschrijving Dit bedrijf is een vooraanstaande softwareleverancier die gespecialiseerd is in het ontwikkelen van software pakketten voor autoschade herstel bedrijven. De software wordt gebruikt door meer dan de helft van alle autoschade herstel bedrijven in Nederland. Het team van professionals is op zoek naar getalenteerde collega developers die hun vaardigheden willen inzetten om het bedrijf te laten groeien. Functieomschrijving Voor dit bedrijf zoek ik een ervaren VB6 / VB.NET developer met interesse om op termijn verder te gaan in C#. In deze functie ben je verantwoordelijk voor het onderhouden van de bestaande softwarepakketten. Een deel van de code is nog

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

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 »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

Bekijk vacature »

Developer (One Data)

Do you have experience with managing IT Teams in a service delivery organization? Are you keen to bring the team and our platform to a higher level? Then Nutreco has a very interesting role for you! As a One Data developer you are responsible for the management, running and functional use of our integration landscape and processes within Nutreco. Nutreco is using at this time BizTalk 2016, and Apigee for its API management, to be replaced by Azure Integration Services as of 2023. You will be part of a virtual teams of 11 people (own and outsourced) working in an

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 »

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

Python (Django) developer - Remote in The Netherla

Functie Together with your team, consisting of a senior, 2 mediors and one junior developer, you will work on their software in an Agile-based approach. You have an eye for quality, risk, and customer interest. Communication with your colleagues and, where necessary, with customers, plays an important role in achieving a successful result. As a person, you are smart, get things done, and are result-oriented. There is a lot of independence within the development team, apart from the stand-up (10:00 am) and occasional pair-programming sessions. Techniques they use include Python, Django, MySQL, Mercurial, Ubuntu Linux, Nginx. In terms of front-end

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Als Front-end developer bijdragen aan het onderwij

Functie Als front-end developer om je terecht in een team van goede en ervaren developers, en ga je werken aan de software die door miljoenen mensen gebruikt wordt. Je bent in staat om designs effectief te vertalen naar werkende feautures en hebt oog voor een goede UX van het product. Je staat voor clean code en goede documentatie. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit software en code. Je dagelijkse werk bestaat uit het werken aan componenten in de Storybook. Het verbeteren en refactoren van de huidige

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

20/04/2024 06:56:58
 
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.