Variabel object aanmaken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer

Ben je op zoek naar een uitdagende functie als software developer in een informele en dynamische organisatie? Wil jij werken aan een cloud platform en heb je kennis van Microsoft Azure en/of C# (.NET)? Denk je in oplossingen in plaats van problemen en denk je altijd een stapje vooruit? Dan is dit echt iets voor jou! .NET Developer in Alblasserdam Functieomschrijving Als software ontwikkelaar ben je enthousiast, flexibel en leergierig en altijd gedreven om ervoor te zorgen dat je het beste resultaat bereikt. Je technische kennis helpt je om complexe problemen te vertalen naar eenvoudige oplossing. Je werkt in een

Bekijk vacature »

C# .NET Core Ontwikkelaar

Binnen ICT Group werken we binnen de business unit transport en logistiek dagelijks aan complexe maatwerk software voor bedrijfskritische systemen. Bij en voor onze klanten gaan we aan de slag met technische, complexe software-oplossingen binnen de technische automatisering op onder meer het IoT vlak. Zo ontwikkelen wij bijvoorbeeld aan een Iot oplossing waar we van ruim 200.000 machines hun telemetrie en events verwerken. Dit komt neer op 200 miljoen berichten per dag. Hierin leggen we de focus op de schaalbaarheid binnen dit project zodat we in de toekomst een veelvoud van berichten kunnen verwerken. Dit wordt mogelijk gemaakt met behulp

Bekijk vacature »

.NET Developer

De vacature Als software developer ontwikkel je mee aan maatwerkoplossingen voor Antea Group. Veel van de applicaties voor het primaire proces zijn door ons ontwikkeld in C# en daarnaast is de gehele middleware onder eigen verantwoordelijkheid ontwikkeld. Op basis van wensen van interne klanten, wetswijzigingen of product strategie wordt deze programmatuur continu uitgebreid en verbeterd. Je test je eigen programmatuur en aanpassingen voordat deze worden aangeleverd bij het testteam. Ook spoor je fouten op die je vervolgens oplost. We proberen zoveel mogelijk agile te werken. Het is daarom van groot belang dat je goed kunt communiceren, samenwerken en flexibel bent.

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little C# or JavaScript. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing PHP code. Working with the Customer Journey Specialist to make

Bekijk vacature »

PHP Developer (medior)

Als PHP developer werk jij mee aan de uitbreiding van onze SaaS applicatie. Je bouwt aan nieuwe functionaliteiten, verbetert ons Content Management Systeem op basis van Symfony en optimaliseert de gebruiksvriendelijkheid. Je werkt aan een mooi product dat continu uitgebreid wordt en de potentie heeft om de wereld over te nemen! Naast het meewerken aan de uitbreiding van onze SaaS applicatie, werk je ook aan specifieke modules voor onze klanten. Klanten als Scania, Fletcher Hotels, Gamma of Aditech hebben jouw hulp nodig! Wil jij meewerken om onze ambitie waar te maken? We bieden: Een salaris tussen € 2200 en €

Bekijk vacature »

Startersfunctie JAVA developer @ Regio Rotterdam

2021-12-03 iSense Startersfunctie JAVA developer Klaar met je studie en ready om de arbeidsmarkt op te gaan als Fullstack Java Developer? Mooi! Wij helpen jou graag om je opgedane theorie te verbreden en te kunnen inzetten in de praktijk. Met het Graduate Programma van de Experis Academy start jij je loopbaan met de meest up-to-date kennis en word je begeleid ook tijdens het werken bij de klant. Kan jij ook niet wachten tot 7 februari? ISNA51149 Wat ga je doen tijdens het Fullstack JAVA ontwikkeltraject? Vanaf 7 februari 2022 krijg jij via de Experis Academy een unieke kans om jouw

Bekijk vacature »

PHP Developer bij Getnoticed Nederweert

Briljante werken-bij websites voor clubs als ABN-AMRO, T-Mobile, KWF Kankerbestrijding en Boskalis. Online recruitmentmarketingcampagnes voor Waterschap Rivierenland, Randstad en VDL Nederland. Dit zijn zomaar een paar van de projecten die we al hebben binnengeharkt. En er kan nog meer bij. Welke projecten oogst jij als PHP developer bij Getnoticed? Je werkt samen met je scrumteam van designers, front- en backend developers, marketeers en projectmanager bij het uitwerken van stories voor zowel klant als in-house gerelateerde projecten. Wat je werkzaamheden zoal zijn Het bedenken van nieuwe functionaliteiten Het verbeteren van het Content Management Systeem op basis van Symfony Het optimaliseren van

Bekijk vacature »

Oracle BI Developer @ Utrecht

2021-08-16 iSense Oracle BI Developer Ben jij op zoek naar een dynamische omgeving om als Oracle BI Developer aan de slag te gaan? Heb jij goede kennis van Oracle BI, Datawarehouses en Oracle Data Integrator (ODI)? En pas jij dit graag toe in een innovatieve omgeving waar je voldoende uitdaging zult vinden? Reageer dan nu! ISKL48194-1 Organisatie Deze organisatie is internationaal actief binnen de zakelijke dienstverlening en heeft de kwaliteit van de IT afdeling hoog in het vaandel staan. Al vanaf de oprichting, meer dan 30 jaar geleden, heeft de IT afdeling alle systemen in eigen beheer en worden de

Bekijk vacature »

Microsoft 365 Engineer

Opleidingsbudget van € 5.000,- Onze opdrachtgevers werken met de nieuwste technieken dus onze medewerkers ook. Daarom bieden we jou uitgebreide opleidingsmogelijkheden en ondersteunen we je maximaal in je ontwikkeling. We bepalen samen met jou een opleidingstraject want niemand wil stilstaan in zijn ontwikkeling, zeker niet in de IT. Wat mag je nog meer verwachten? Direct een arbeidsovereenkomst voor onbepaalde tijd Een salaris tussen de € 3.500,- en € 4.500,- bruto per maand o.b.v. 40 uur Diverse bonussen: - 1800+ uur bonus - Wervingsbonus, een waardebon naar keus, ter waarde van € 1.500,- netto Een onkostenvergoeding van € 100,- netto per

Bekijk vacature »

PHP Developer @ Utrecht

2021-11-16 iSense PHP Developer Wist je dat PHP gebruikt wordt voor ongeveer 79% van alle websites, waaronder Wikipedia en Facebook? En wist je dat onder PHP Developers Laravel en Symfony de meest populaire frameworks zijn? Als dat ook voor jou zo is heb je geluk, want deze frameworks zijn precies waar jij mee aan de slag kunt als PHP Developer bij een innovatieve zorgorganisatie! ISRI50867 Organisatie Wat ga je doen? In de kern ga je als PHP Developer binnen een developmentteam bouwen aan een digitaal zorgplatform. Je gaat bouwen aan de core van dit platform en de bijbehorende applicaties, welke

Bekijk vacature »

Junior .NET ontwikkelaar @ Regio Amsterdam

2021-10-26 iSense Junior .NET ontwikkelaar Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond OF heb jij middels cursussen je sporen verdiend in het programmeren en wil je graag aan de slag als Fullstack .NET Developer? Lees dan snel verder! Want in januari/februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie .NET. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISLE49332 Locatie Amsterdam e.o. Wat ga je doen tijdens het Fullstack .NET Developer Traineeship? Vanaf januari/februari 2022 krijg jij via

Bekijk vacature »

Java Ontwikkelaar

Binnen ICT Group werkt de business unit Machine & Systems zich bezig met geavanceerde besturingssystemen voor machine- en apparatenbouwers en voor grote systeemintegratoren. Met je collega’s zorg jij ervoor dat producten optimaal functioneren en connected zijn. Internet of Things, Cloud oplossingen en Big Data zijn niet meer weg te denken uit dit marktsegment. We leveren complete producten (hardware, OS en software applicaties) en zijn van toegevoegde waarde door het uitvoeren van complete projecten met resultaatverantwoordelijkheid op één van onze locaties, door het leveren van kennis en ervaring op locatie van onze klanten én door middel van advies trajecten. Requirements in

Bekijk vacature »

Servicedesk-medewerker IT

Zet jij een tevreden klant altijd op nummer één? En zoek jij een baan waarin je als Servicedesk-medewerker jouw expertise in kan zetten om eindgebruikers te helpen bij het oplossen van hun ICT problemen? Dan ben jij degene die we zoeken! Wat ga je doen? Als servicedesk-medewerker ben jij het eerste aanspreekpunt voor de eindgebruiker. De klantvragen die jij krijgt, los je indien mogelijk direct op en registreer je in Topdesk. Wat je niet kan oplossen, zet je door naar het juiste DevOps-team. Je komt te werken binnen een team waar jij samen met je collega's verantwoordelijk bent voor de

Bekijk vacature »

Technisch Developer

Werken aan innovatieve oplossingen die onmisbaar zijn voor iedereen en dus ook voor jou als reiziger? Als Technisch Developer bij InTraffic lever jij een waardevolle bijdrage aan de reizigerservaring! • Hoe? Door te werken aan complexe technische vraagstukken met behulp van C++. • Waarom? Om de veiligheid en doorstroom op het spoor te kunnen waarborgen. Je draagt bij aan de mobiliteit van nu en ook die van de toekomst. • Waar? Bij InTraffic in Nieuwegein, dé IT-specialist op het gebied van verkeer en vervoer. • Met wie? Je werkt in een scrumteam. Onze teams variëren van 3 tot 9 professionals.

Bekijk vacature »

Senior Java 8 Developer

Senior Java 8 Developer Intro Is your interest triggered by software and in particularly Java? Are you an experienced developer with Java? Then you could be the perfect candidate! Our client is looking for an senior Java Developer, in Eindhoven, The Netherlands. Function Information You will be end-to-end responsible for creating software in Java and Java EE, contributing to the development of several diagnostic applications in a scrum/Agile way of working. Diagnostic & Sequencing applications is done in several teams working together to deliver and integrate solutions to complex problems to enhance the diagnostic capabilities for our customers. Within one

Bekijk vacature »
Daan

Daan

11/02/2009 17:48:00
Quote Anchor link
Hey iedereen,

Ik heb een methode 'load' in de class 'Library' die een object kan openen uit de library en terugstuurt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$db
= $library->load('database');
?>

Dat doet ie (erg versimpeld, zonder controle, enz) als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
class Library {
    public function load ($name) {
        include_once($name.'.php');
        $object = new $name();
        return $object;
    }
}

?>

Alleen nu wil ik een object aanmaken waarvan de constructor parameters moet krijgen. Dus zo:
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
<?php
// object opvragen
$db = $library->load('database', array('localhost', 'mydatabase'));

// De load()-functie in de Library-class
public function load($name, $params = array()) {
    include_once($name.'.php');
    // Wat moet er hier komen??
    // Zoiets werkt niet:

    $object = new call_user_func_array($name, $params);
    // En zoiets ook niet:
    $object = call_user_func_array('new '.$name, $params);
    // Dit werkt wel, maar dan kan je maar één argument doorgeven (een array dus)
    $object = new $name($params);
    return $object;
}

?>

Moet ik dan echt de constructors herschrijven zodat ze de argumenten als een array kunnen ontvangen?
Een andere oplossing is om zoiets te doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$code
= '$object = new $name(' . implode(', ', $params) . ');';
eval ($code);
?>

alleen is dit denk ik niet de ideale oplossing. Het lijkt mij iig erg omslachtig. Weet iemand hier een oplossing voor??

Alvast bedankt!
Daan

Edit:
Ik zie dat ik hem per ongeluk heb aangemaakt bij 'design'. Dat moet natuurlijk 'OOP' zijn..

Mod edit:
Verplaatst...
Gewijzigd op 01/01/1970 01:00:00 door Daan
 
PHP hulp

PHP hulp

04/12/2021 22:56:35
 
Bo az

Bo az

11/02/2009 18:47:00
Quote Anchor link
Wat jij wil is iig mogelijk met reflection ( http://nl.php.net/language.oop5.reflection ) hoe en wat precies weet ik ook niet uit mijn hoofd.

Overigens denk ik dat je dit beter anders kan aanpakken, wat je library eigenlijk is, is een registry. Registry is een bekend design pattern, wat vaak net iets anders wordt geïmplementeerd, hier op phphulp zijn genoeg voorbeelden te vinden. Je methode load is eigenlijk een combinatie van de registry en een autoload functie.

edit:
In het geval van reflection denk ik dat je ReflectionClass::newInstanceArgs() nodig hebt.
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Citroen Anoniem Graag

Citroen Anoniem Graag

11/02/2009 19:29:00
Quote Anchor link
werkt dit niet:

$oObject = call_user_func_array(array('naam van de controller', '__construct'), $aParams);

Overigens lijkt Reflection mij mooier, maar is dit miss makkelijker
 
Jelmer -

Jelmer -

11/02/2009 20:06:00
Quote Anchor link
Volgens mij is reflection zelfs de enige manier waarop het kan.

Overigens is dit volgens mij niet het registery pattern, maar nijgt het meer naar het dependency injection pattern. Ik vind het er wel elegant uitzien eigenlijk :)
 
Daan

Daan

11/02/2009 22:51:00
Quote Anchor link
Ik was vanavond even weg, ik ga aan de slag met jullie commentaar!

Edit:
Reflection is precies wat ik zoek! Bedankt, had er nog nooit van gehoord.
Ik heb ff opgezocht wat dat met die patterns inhoud, en volgens mij is het meer een registry pattern. Van het Dependency injection pattern snap ik eigenlijk niet zoveel na de uitleg op wikipedia..

Maargoed, het werkt nu.
Voor de geïnteresseerden, dit heb ik nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// De load()-functie in de Library-class
public function load($name, $params = array()) {
    include_once($name.'.php');
    $class = new ReflectionClass($name);
    $object = $class->newInstanceArgs($params);
    return $object;
}

?>


Werkt perfect! Nogmaals bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Daan
 



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.