extends

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Medior Java developer

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 »

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 (Laravel/Vue.js)

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

C++ Developer

Functieomschrijving Ben jij als software engineer toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! Voor het maken van de procesbesturingsoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Ontwerpen, programmeren en testen van productaanpassingen; Implementeren van nieuwe productreleases in de projectteams; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden,

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

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 »

Junior .NET developer

Functie Wij zijn bezig met het ontwikkelen van een nieuw product en wij hebben jouw hulp hierbij nodig! Als junior .NET ontwikkelaar krijg jij de kans om samen met ons deze nieuwe uitdaging aan te gaan! Momenteel bestaat ons team uit drie interim Software Engineers. Twee hiervan zijn zeer ervaren .NET specialisten die inmiddels hun strepen in dit vakgebied al hebben behaald. Ook hebben wij een junior als onderdeel van ons team die zich op dit moment nog bezig houdt met de Front-end (Angular/TypeScript), maar zich nu ook meer gaat verdiepen in de backend. Wij willen ons team graag verder

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

Bekijk vacature »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

Bekijk vacature »

Delphi developer

Functie Als Delphi developer ga jij aan de slag in een team met twee andere ervaren Delphi programmeurs waaronder de Hoofd programmeur. Als team zijn jullie verantwoordelijk voor de doorontwikkeling van jullie bestaande applicatie. Daarnaast zijn jullie verantwoordelijk voor het onderhouden van deze applicatie en het oplossen van eventuele bugs. Eisen - HBO werk en denk niveau; - Minimaal één jaar ervaring met Delphi; - Goede beheersing van de Nederlandse taal in woord en geschrift; - Jij bent zelfstandig, maar kan ook in team verband werken. Aanbod - €3000,-- €4000,- op basis van jouw kennis en ervaring; - 8% vakantiegeld;

Bekijk vacature »

C# Developer

Dit ga je doen De requirements in kaart brengen van de klant; Implementeren van functionele en technische specificaties bij opdrachtgevers; Oplossen van bugs; Meewerken aan maatwerksoftware voor nieuwe opdrachtgevers; Het testen en uitleveren van nieuwe functionaliteiten naar de acceptatie en productieomgeving De database ontwikkelen en onderhouden; Hier ga je werken Onze klant is gevestigd in het westen van Nederland en is gespecialiseerd in het ontwikkelen van software voor de levensmiddelen industrie. De software die het team maakt optimaliseert voornamelijk de administratieve processen, maakt deze meetbaar en zorgt ervoor dat de data zo goed mogelijk gebruikt kan worden. Binnen een van

Bekijk vacature »
Ozzie PHP

Ozzie PHP

18/03/2013 23:53:34
Quote Anchor link
Hallo,

Ik wil aan sommige classes een functie toevoegen waarmee ik makkelijk kan zien wat de inhoud van de properties is. In 1e instantie was ik van plan om in iedere class (waar nodig) een extra method toe te voegen. Echter, volgens mij kan dat handiger. Ik wil die ene functie in een aparte class zetten (laten we die even class X noemen) en de "hoofd class" dan die class X laten... en nu komt het... extenden???

Ik dacht eigenlijk dat het met implement zou werken...

class Something implements class X

Maar dan krijg ik een foutmelding dat class X een interface moet zijn. Maar als ik er een interface van maak, dan mag ik geen code plaatsen in die extra functie die ik wil maken.

Moet ik dan toch "extends" gebruiken? Ik weet dat Wouter wel eens gezegd heeft dat je extends kunt vervangen door "IS EEN". Die class X wil ik gebruiken om properties te kunnen zijn... maar ik vind het dan raar om te zeggen class ParameterBag IS EEN property viewer. Dat lijkt me niet echt te kloppen... maar met implement lijkt het niet te werken... zie ik iets over het hoofd nu?
 
PHP hulp

PHP hulp

09/01/2025 08:56:04
 
Wouter J

Wouter J

19/03/2013 07:58:43
Quote Anchor link
Implements en Extends zijn beide parent<>child relaties. Extends voor klassen en implements voor interfaces. Beide mag je dus in zo'n situatie niet gebruiken.

Sinds PHP5.4 hebben we hiervoor Traits, zoek maar eens op.
 
Ward van der Put
Moderator

Ward van der Put

19/03/2013 08:23:14
Quote Anchor link
De "is a" vind je in PHP bijvoorbeeld letterlijk terug in de vorm van is_a():

bool is_a ( object $object , string $class_name [, bool $allow_string = false ] )

In OOP kennen we echter ook een "has a" in de vorm van een composite pattern met branches (vertakkingen) en leafs (bladeren). Elke vertakking kan daarbij meerdere bladeren hebben.

Afbeelding

Maar even praktisch: je hebt alleen een return get_object_vars($this) nodig.

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
20
21
22
23
24
25
26
27
28
29
30
31
<?php
class Foo
{
    protected $Iets = 'Lorem ipsum';
}


class Bar extends Foo
{
    private $NogIets = 'Dolor sit amet';

    public function getObjectVars()
    {

        return get_object_vars($this);
    }
}



$object = new Bar();
print_r($object->getObjectVars());

/**
 * Array met eigenschappen van Foo en Bar:
 
       Array
       (
           [NogIets] => Dolor sit amet
           [Iets] => Lorem ipsum
       )

 */

?>


Ik denk dat je zo'n methode niet zou moeten verheffen tot de norm voor al je klassen om één duidelijke reden: een protected $Iets en een private $NogIets worden prijsgegeven door een public function. Is bijna een terugkerend thema aan het worden :)
 
Ozzie PHP

Ozzie PHP

19/03/2013 14:15:07
Quote Anchor link
@Ward,

Ik wil geen print_r gebruiken, omdat ik er een eigen (nette) opmaak aan meegeef. Het is een soort van luxe debug functie. Er wordt een html pagina getoond met de inhoud van de properties en misschien ook nog wel voor de methods. Voor het programmeren zelf kun je daar verder niks mee.

@Wouter: dankjewel voor de uitleg. Ik had al zo'n vermoeden dat het niet klopte wat ik aan het doen was. De trait werkt perfect! :)
 
Ward van der Put
Moderator

Ward van der Put

19/03/2013 15:16:57
Quote Anchor link
Aha, ik snap het. Dan zou je een constante IN_DEBUG_MODE of IS_ADMIN_FLAG (zo heet dat ding in Zen Cart) kunnen inbouwen die de debugcode alleen bij true uitvoert.
 
Ozzie PHP

Ozzie PHP

19/03/2013 15:25:28
Quote Anchor link
Ik werk niet met zend_cart dus heb geen idee waar je het over hebt :)

Maar ik heb een paar "container" classes. Vantevoren staat niet vast wat daar inzit. Je kunt daar van alles in proppen. Om dan vervolgens gemakkelijk te kunnen zien wat er in ziet wil ik bijv. zoiets kunnen doen:

$this->container->showProperties();

Dat is alles. Normaal gesproken wordt die functie niet gebruikt. Het is puur bedoeld om op een gemakkelijke manier inzichtelijk te krijgen wat er in een class is opgeslagen.
 
Ward van der Put
Moderator

Ward van der Put

19/03/2013 15:50:19
Quote Anchor link
Ik bedoelde een globale constante die je productieomgeving afschermt. In Zen Cart is dat de bool IS_ADMIN_FLAG. En dan zou je dus zoiets krijgen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class Bar extends Foo
{
    public function getObjectVars()
    {
  
        if (IS_ADMIN_FLAG) {
            return get_object_vars($this);
        }
else {
            return null;
        }
    }
}

?>


PHP ondersteunt geen multiple inheritance in de pseudocode-vorm class C extends {A, B}, maar zoals Wouter al aangaf zijn traits daarvan een gedeeltelijke oplossing.

Verder is een nog een dirty trick om multiple inheritance te faken: het kan met method overloading via __call(). Persoonlijk zou ik echter voor de traits gaan. Wouter heeft je al het beste advies gegeven.
 
Ozzie PHP

Ozzie PHP

19/03/2013 15:53:25
Quote Anchor link
Ah oké, op die manier bedoel je. Nu snap ik wat je bedoelt met die admin flag. Da's wel een goeie. Thanks!
 



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.