Onbekende constructor

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Applicatieontwikkelaar

Bedrijfsomschrijving Belastingdienst De Belastingdienst is een maatschappelijk relevante en invloedrijke organisatie. Zo gaat er jaarlijks bijvoorbeeld 300 miljard euro aan belastinggeld doorheen en heeft elke Nederlander met deze organisatie te maken. Miljoenen van die Nederlanders communiceren tegenwoordig alleen nog digitaal met de Belastingdienst. Dat stelt hoge eisen aan de betrouwbaarheid en efficiëntie van de ICT-systemen en de informatievoorzieningen. Er ligt dan ook een grote uitdaging om de geoliede machine van de online omgevingen goed draaiende te houden. Een missie waar jij als Applicatie Ontwikkelaar jouw steentje aan bij kan dragen! Werken bij Yacht Werken bij YACHT IT betekent dat je

Bekijk vacature »

Java-softwaredeveloper

Wat je gaat doen: Dit ga je doen Daar kunnen we heel kort over zijn: software ontwikkelen met de agile-/scrumteams van toonaangevende organisaties. Zoals ministeries, gemeentes, financiële instellingen en retail- en energiebedrijven. En als het bij je past, begeleid je collega-developers in het ontwikkelproces. Doordat je tijdelijk aan een opdracht werkt, doe je in korte tijd veel mooie ervaringen op en leer je nieuwe technieken en tools kennen. Je teamleden werken bijvoorbeeld met Spring, JPA/Hibernate, AJAX, REST/JSON, GIT, AWS en TDD. Het interessante is dat jij volledig in control bent en zelf kiest welke opdrachten je oppakt. Het soort rol,

Bekijk vacature »

Experienced Flutter Developer

In this role you’ll work as an experienced Flutter Developer for a fast growing Dutch Mobile company. Together with your team you’ll work on a variety of innovative apps. You will write, maintain, develop, add new features to existing mobile applications. You will also review code. You will be part of the entire Flutter App development lifecycle. Functie-eisen You have several years experience with Flutter Development You have previous experience with iOS or Android Development You are familiar with Gitflow You are familiar with code review You have a bachelors degree in IT or related study You are passionate and

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

.Net Developer

Samengevat: Wij produceren software. Wil jij werken als Back-end Developer? Heb jij verstand van design patterns? Vaste baan: .Net Developer Microservice HBO WO Design Patterns 3.500 - 5.000 Backend Developer Deze werkgever is een sterke speler op de internationale markt van digital signage/narrowcasting software. Vanuit onze vestiging in Eindhoven werken we met de nieuwste technologieën aan out-of-the-box producten voor digital signage. Deze producten worden via ons wereldwijd partner netwerk bij talloze bedrijven en organisaties ingezet voor dynamische beeldscherm-communicatie. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor

Bekijk vacature »

Freelance senior ICT ontwikkelaar (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 86,00 Team LIV is op zoek naar een enthousiaste, flexibele, multitaskende en hands-on ontwikkelaar met veel ervaring in het gedeeltelijk of volledig zelfstandig bepalen van ontwikkel- en realisatie aanpak. Onze nieuwe collega moet in staat zijn te werken in een hectische omgeving waarbij er sprake is van zeer verschillen realisatietrajecten voor wat betreft(technische)diepgang, startmoment (wel/geen beschrijvingen beschikbaar) en klantcontact. De gekozen ontwikkelmethodiek dient passend te zijn voor het op te lossen vraagstuk waarbij samenwerking met de testengineer in relatie tot Systeem integratie test

Bekijk vacature »

C# .NET Developer

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Freelance senior Programmeur (zzp)

Dienst Uitvoering Onderwijs Uren per week: 36,00 Standplaats: Groningen Max tarief: € 90,00 Startdatum inzet: 2-1-2023 Einddatum inzet: 1-1-2024 Wat doen we voor werk momenteel? Nieuwe applicaties: We bouwen nieuwe applicaties voor inwinnen B3/B4 scholen. Deze scholen kunnen inschrijvingen via een website aanleveren per keer of meerdere inschrijvingen via bestand. Deze inschrijvingen leggen we vast en ze kunnen ook beheerd worden. Moderniseren: Daarnaast hebben we zoals alle andere teams ook een flinke migratie voor de boeg om in de Cloud te landen. Eén applicatie (AVOID) hebben we al succesvol gemigreerd en deze draait bijna in PRD. De grootste uitdaging voor

Bekijk vacature »

Freelance senior ICT ontwikkelaar (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 86,00 Team LIV is op zoek naar een enthousiaste, flexibele, multitaskende en hands-on ontwikkelaar met veel ervaring in het gedeeltelijk of volledig zelfstandig bepalen van ontwikkel- en realisatie aanpak. Onze nieuwe collega moet in staat zijn te werken in een hectische omgeving waarbij er sprake is van zeer verschillen realisatietrajecten voor wat betreft(technische)diepgang, startmoment (wel/geen beschrijvingen beschikbaar) en klantcontact. De gekozen ontwikkelmethodiek dient passend te zijn voor het op te lossen vraagstuk waarbij samenwerking met de testengineer in relatie tot Systeem integratie test

Bekijk vacature »

Freelance java developer / scrummaster (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 82,00 Voor onze partnerorganisatie, de Belastingdienst, zijn wij op zoek naar een Java Developer met kennis van en ervaring met de Scrum methodiek. In deze rol wordt er van je gevraagd dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Weet wat er van een scrummaster wordt verwacht; Als volwaardig teamlid participeert binnen het scrumproces in je team en in de SAFe-releasetrain; Zowel zelfstandig kunt werken in een scrumteam als intensief de samenwerking zoekt met je directe collega’s en je omgeving; Samenwerkt met je collega’s

Bekijk vacature »

Freelance senior ICT ontwikkelaar (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 86,00 Team LIV is op zoek naar een enthousiaste, flexibele, multitaskende en hands-on ontwikkelaar met veel ervaring in het gedeeltelijk of volledig zelfstandig bepalen van ontwikkel- en realisatie aanpak. Onze nieuwe collega moet in staat zijn te werken in een hectische omgeving waarbij er sprake is van zeer verschillen realisatietrajecten voor wat betreft(technische)diepgang, startmoment (wel/geen beschrijvingen beschikbaar) en klantcontact. De gekozen ontwikkelmethodiek dient passend te zijn voor het op te lossen vraagstuk waarbij samenwerking met de testengineer in relatie tot Systeem integratie test

Bekijk vacature »

Freelance java developer / scrummaster (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 82,00 Voor onze partnerorganisatie, de Belastingdienst, zijn wij op zoek naar een Java Developer met kennis van en ervaring met de Scrum methodiek. In deze rol wordt er van je gevraagd dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Weet wat er van een scrummaster wordt verwacht; Als volwaardig teamlid participeert binnen het scrumproces in je team en in de SAFe-releasetrain; Zowel zelfstandig kunt werken in een scrumteam als intensief de samenwerking zoekt met je directe collega’s en je omgeving; Samenwerkt met je collega’s

Bekijk vacature »

Freelance java developer / scrummaster (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 82,00 Voor onze partnerorganisatie, de Belastingdienst, zijn wij op zoek naar een Java Developer met kennis van en ervaring met de Scrum methodiek. In deze rol wordt er van je gevraagd dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Weet wat er van een scrummaster wordt verwacht; Als volwaardig teamlid participeert binnen het scrumproces in je team en in de SAFe-releasetrain; Zowel zelfstandig kunt werken in een scrumteam als intensief de samenwerking zoekt met je directe collega’s en je omgeving; Samenwerkt met je collega’s

Bekijk vacature »

App ontwikkelaar IoT iOS en Android

Dit ga je doen Het ontwikkelen van Apps op Android en iOS voor verschillende uiteenlopende producten; Werken voor verschillende klanten, actief wereldwijd; Met passie werken aan IoT en Cloud technologieën. Hier ga je werken De organisatie in de regio Arnhem is een specialist als het gaat om het ontwikkelen van intelligente apparaten of machines. Binnen de organisatie zijn zo'n 50 medewerkers werkzaam waarvan 97% een technische functie bekleedt. Voor verschillende klanten door heel Nederland ontwikkelen zij innovatieve producten. Hierin verzorgen zij zowel de elektronica als de embedded software en zijn ze ook in opbouw als het gaat om applicaties en

Bekijk vacature »

Freelance senior Programmeur (zzp)

Dienst Uitvoering Onderwijs Uren per week: 36,00 Standplaats: Groningen Max tarief: € 90,00 Startdatum inzet: 2-1-2023 Einddatum inzet: 1-1-2024 Wat doen we voor werk momenteel? Nieuwe applicaties: We bouwen nieuwe applicaties voor inwinnen B3/B4 scholen. Deze scholen kunnen inschrijvingen via een website aanleveren per keer of meerdere inschrijvingen via bestand. Deze inschrijvingen leggen we vast en ze kunnen ook beheerd worden. Moderniseren: Daarnaast hebben we zoals alle andere teams ook een flinke migratie voor de boeg om in de Cloud te landen. Eén applicatie (AVOID) hebben we al succesvol gemigreerd en deze draait bijna in PRD. De grootste uitdaging voor

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

05/02/2023 03:19:41
 
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.