Onbekende constructor

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

Junior Java Developer

Dit ga je doen Full stack web- en appdevelopment; Vertalen van de functionele wensen naar de technische specificaties; Sturing geven aan/klank board zijn voor de software teams; Trainen van de software teams; Sparren met klanten; Meedenken over architectuur. Hier ga je werken De organisatie is een bureau welke websites en mobiele applicaties bouwt voor verschillende toonaangevende organisaties. Hierbij richten zij zich voornamelijk op de sectoren leisure, overheid en zorg. De sfeer intern kenmerkt zich door informaliteit, gezelligheid en ambitie. Ze werken dag in dag uit samen om mooie producten op te leveren voor hun klanten. Op dit moment zijn er

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

.NET developer

Functie Voor jou als junior .NET ontwikkelaar staat er een flinke uitdaging klaar bij dit bedrijf waar jij veel van kan gaan leren. Zo willen zij een flinke uitbreiding doen op het webbased gedeelte dat zij nu hebben en willen zij het standaard deel gaan moderniseren. Jouw team is dan ook op zoek naar een junior .NET ontwikkelaar die het leuk vindt om op basis van research en development aan de slag te gaan. Jouw mening telt mee als het gaat om hoe en met wat deze applicaties gebouwd en herschreven gaan worden. Jouw functie bij dit bedrijf gaat dan

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Fullstack Developer

Functieomschrijving Heb je kort geleden jouw HBO diploma ICT development behaald? Of zit je nog aan het begin van je carrière en heb je affiniteit met C#.NET? Voor een erkende werkgever in de omgeving van Oosterhout zijn wij op zoek naar een fullstack developer. Als C#.NET developer werk je samen met een vooruitstrevend team aan het ontwikkelen van maatwerk software voor klanten. Je hebt affiniteit met SQL, maar nog belangrijker is dat je kennis en ervaring hebt met C#.NET. Jouw werkzaamheden zien er als volgt uit: Het ontwikkelen van onze high-availability en high-performance backend; Je begint de dag rond 8:30

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 »

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen pure PHP code schrijven. Samenwerken met de klantreiziger om onze klanten

Bekijk vacature »

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

Back-end developer (Magento2)

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »
Jan Kila

Jan Kila

28/01/2020 12:37:39
Quote Anchor link
In een MVC applicatie die ik wil doorgronden kom ik in de code van de database class dingen tegen die ik niet begrijp.
Het gaat om de regel:
' public function __construct( Config $config )'
Kan iemand me een zetje in de goede richting geven?

Die 'Config' is waarschijnlijk een class.
En '$config' een variabele.

Maar waar definieer je die zaken?

Het complete stukje code ziet er zo uit:

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 skf;

class db extends \PDO
{
    /**
     * factory
     *
     * Sets an DataBaseBinding compatible object based on the type of database
     * defined in $config_values['database']['db_type']
     */

    public function __construct( Config $config )
    {

        $db_type = $config->config_values['database']['db_type'];
        $db_host = $config->config_values['database']['db_host'];
        $db_name = $config->config_values['database']['db_name'];
        $db_user = $config->config_values['database']['db_user'];
        $db_pass = $config->config_values['database']['db_pass'];
        $db_port = $config->config_values['database']['db_port'];
 
PHP hulp

PHP hulp

24/12/2024 06:27:25
 
Thomas van den Heuvel

Thomas van den Heuvel

28/01/2020 16:26:02
Quote Anchor link
Nou, je zit in de namespace "skf", dus d(i)e Config class zal naar alle waarschijnlijkheid daar gedefinieerd zijn?

$config is dus ook niet zomaar een variabele, maar zou een object van die Config class moeten zijn.
 
Jan Kila

Jan Kila

28/01/2020 16:39:48
Quote Anchor link
Thomas,
Dank je. Je antwoord verlegt m'n vraag naar: 'Hoe lees je de inhoud van een namespace?'
Heb je een suggestie?
 
Thomas van den Heuvel

Thomas van den Heuvel

28/01/2020 17:28:15
Quote Anchor link
Uhm.

Vaak gebeurt dit op afroep? Op het moment dat je een object van een class maakt wordt de class-definitie opgevraagd/ingeladen. Dus dit gebeurt (meestal) pas op het moment dat je classes ook daadwerkelijk gebruikt. Op deze manier is er geen "verspilling": je gebruikt enkel hetgeen je nodig hebt.

In applicaties die OOP gebruiken is er vaak een "autoloader" aanwezig: deze beschrijft in wezen waar classes gevonden kunnen worden zodat je deze bestanden niet allemaal hoeft te requiren/includen maar direct kunt gebruiken alsof de locatie al bekend was. Deze fungeert als een "mapper" van classnaam naar fysieke locatie, en meestal stemmen deze twee ook in grote lijnen overeen, zodat het redelijk logisch/vanzelfsprekend is waar deze classes te vinden zijn.

PHP heeft hier zelf ook aanbevelingen voor hoe de organisatie er uit zou moeten zien zodat (idealiter) alle applicaties eenzelfde indeling hebben.

Je kunt dus naar alle waarschijnlijkheid de inhoud van de namespace bekijken door naar de desbetreffende directory te navigeren, aangenomen dat de bestanden in jouw applicatie/de library in kwestie op die manier georganiseerd zijn.
Gewijzigd op 28/01/2020 17:29:29 door Thomas van den Heuvel
 
Jan Kila

Jan Kila

29/01/2020 20:51:30
Quote Anchor link
Het is me nog steeds een raadsel.
Ik heb die class Config gemaakt - en daar maak ik in de init.php een instantie van: $config = new Config;
In de class DataBase roep ik aan met:
public function __construct( Config $config )
...(alles dat nodig is om PDO aan de gang te krijgen)...
En dat werkt, natuurlijk zou ik bijna zeggen.
Maar waarom staat die class naam daar? Zonder dat werkt het toch ook prima.
Kan/wil iemand me dat uitleggen?
 
Rob Doemaarwat

Rob Doemaarwat

29/01/2020 22:07:23
Quote Anchor link
Hiermee kun je afdwingen dat ook alleen maar een $config van het juiste type (class Config of een afgeleide) wordt meegegeven. En stopt je script dus als er per ongeluk bijvoorbeeld een array wordt doorgegeven.

Als je alles altijd goed doet heb je dit natuurlijk niet nodig, en het is dus ook niet verplicht. Maar als je werkelijk altijd alles goed doet, dan zijn er denk heel wat werkgevers in je geïnteresseerd. Kortom: het is er een in de categorie "controle is beter dan vertrouwen".

Overigens is er wel een klein beetje extra processing tijd mee gemoeid (het controleren kost uiteraard tijd), dus een script zonder dit soort "opsmuk" zal iets sneller werken. Maar het zal amper merkbaar zijn, en het heeft natuurlijk ook voordelen.

Als je meer wilt weten kun je zoeken op "Type declarations" ( https://www.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration ). Sinds PHP 7 kun je ook voor de return value een type opgeven ( https://www.php.net/manual/en/functions.returning-values.php#functions.returning-values.type-declaration ).
 
Jan Kila

Jan Kila

30/01/2020 12:09:57
Quote Anchor link
Rob,
Dank je. Nu is helder Wat er gebeurt en je vertelt er ook bij Waarom het bestaat.
In een groot project waar veel mensen aan werken inderdaad een nuttig vangnet.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

30/01/2020 13:05:09
Quote Anchor link
Bijkomend voordeel: een slimme php editor zal de class herkennen en type-hints geven zoals de public methods.

In plaats van rechtstreeks een Class naam op te geven mag er ook een interface opgegeven worden. Vervolgens wordt elke class toegestaan die de interface geïmplementeerd heeft. Zoek maar op php interfaces voor meer info.
Gewijzigd op 30/01/2020 13:05:43 door Frank Nietbelangrijk
 



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.