[oop] hoe consante terugkrijgen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

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 »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

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 »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

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 »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

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 »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »
Ozzie PHP

Ozzie PHP

30/04/2014 13:28:04
Quote Anchor link
Hey guys,

In sommige gevallen is het handig om de ISO normering aan te houden. Waarom? Omdat andere programmeurs dat ook doen, en omdat je dan precies weet wat een bepaalde waarde inhoudt.

Er zijn heel veel ISO-lijstjes en één daarvan is bijvoorbeeld een lijstje voor iemands geslacht: http://en.wikipedia.org/wiki/ISO/IEC_5218

Dat lijstje ziet er ongeveer als volgt uit:

0 = unknown
1 = male
2 = female
9 = not_applicable

Nu is dit op zich niet een heel groot lijstje, maar toch heb ik geen zin om die getallen te moeten onthouden. Dus leek het me handig om hier een interface van te maken, als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
interface gender {

    const unknown       = 0;
    const male          = 1;
    const female        = 2;
    const not_appicable = 9;

}

?>

Het idee is nu dat als ik weet dat iemand een man is, dat ik dan dit kan doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$person
= new Person();
$person->setGender(gender::male);
?>

Dit lijkt me namelijk een stuk duidelijker dan dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$person
= new Person();
$person->setGender(1);
?>

Zijn jullie het met deze gedachte eens?

Nu is echter mijn vraag... stel dat ik deze persoon opsla in de database, dan staat er in de database bij "gender" dus een 1. Dat is prima, want dat willen we ook. Echter, stel nu dat ik een tijdje later de gegevens van die persoon op mijn scherm wil tonen, dan staat er dus bijvoorbeeld:

name: Ozzie
gender: 1

Is het nu mogelijk om in plaats van 1 daar dan de naam van de constante, dus "male", te tonen? Dus:

name: Ozzie
gender: male

Weet iemand of, en zo ja hoe, dat kan?

Alvast bedankt voor de reacties.
 
PHP hulp

PHP hulp

28/03/2024 16:51:51
 
LEDfan nvt

LEDfan nvt

30/04/2014 13:36:43
Quote Anchor link
Hier staat beschreven hoe je dat kan doen http://stackoverflow.com/questions/1880148/how-to-get-name-of-the-constant .
Maar kan je dit niet beter in je view regelen?
 
Wouter J

Wouter J

30/04/2014 13:43:34
Quote Anchor link
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php

class Gender
{
    const UNKNOWN        = 0;
    const MALE           = 1;
    const FEMALE         = 2;
    const NOT_APPLICABLE = 9;

    private $gender;

    public static function __construct($gender)
    {

        if ($gender < 0 || $gender > 9) {
            throw new \InvalidArgumentException('Invalid gender.');
        }


        $this->gender = $gender;
    }


    public function getGender()
    {

        return $this->gender;
    }


    public static function parse($name)
    {

        switch (strtolower($name)) {
            case
'male': $gender = 1; break;
            case
'female': $gender = 2; break;
            case
'not applicable': $gender = 9; break;
            default:
$gender = 0; break;
        }


        return new self($gender);
    }
}


class GenderToTextTransformer
{
    public function transform(Gender $gender)
    {

        switch ($gender->getGender()) {
            case
0: return 'unknown'; break;
            case
1: return 'male'; break;
            case
2: return 'female'; break;
            case
9: return 'not applicable'; break;
        }
    }
}


$genderToText = new GenderToTextTransformer();

$wouter = new Person('Wouter', Gender::parse('male'));
$nienke = new Person('Nienke', Gender::parse('female'));
$robot  = new Person('WuutWuut', Gender::parse('unknown'));

echo 'Wouter is a '.$genderToText->transform($wouter->getGender());
echo 'Nienke is a '.$genderToText->transform($nienke->getGender());
echo 'The gender of WuutWuut is '.$genderToText->transform($robot->getGender());
?>
 
Ozzie PHP

Ozzie PHP

30/04/2014 13:43:54
Quote Anchor link
Ah ja, thanks... dat werkt inderdaad met de reflection class!

>> Maar kan je dit niet beter in je view regelen?

Hoe bedoel je dit?

Toevoeging op 30/04/2014 13:44:41:

Edit: Wouter, ik had je reactie nog niet gezien... ga nu even lezen. Zo dadelijk reactie.

Toevoeging op 30/04/2014 13:49:09:

Wouter, mooie aanpak... maar nogal complex lijkt mij. Ik denk dat de aanpak (zie link van LedFan) met een reflection class een stuk efficiënter/universeler is?
 
Wouter J

Wouter J

30/04/2014 13:59:45
Quote Anchor link
> Ik denk dat de aanpak (zie link van LedFan) met een reflection class een stuk efficiënter/universeler is?

Efficiëntie gaat het niet om in OO hè :) In mijn voorbeeldje heb ik even wat Domain Driven Development toegepast. Daardoor heb ik een Gender Value Object geintroduceerd. En 1 van de regels van Value Objects is: "Don’t use _toString() for presentation." Dus daar heb ik weer een nieuwe klasse voor geïntroduceerd. Op deze manier kun je het gender op verschillende manieren presenteren. Je zou een PresentGender interface kunnen maken en dan krijg je mooie dingen als:

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
32
33
34
<?php

interface PresentGender
{
    function
present(Gender $gender);
}


class AsText implements PresentGender
{
    public function present(Gender $gender)
    {

        switch ($gender->getGender()) {
            case
0: return 'unknown'; break;
            case
1: return 'male'; break;
            case
2: return 'female'; break;
            case
9: return 'not applicable'; break;
        }
    }
}


class AsUnicodeSymbol implements PresentGender
{
    public function present(Gender $gender)
    {

        switch ($gender->getGender()) {
            case
0: return 'U+26A8'; break;
            case
1: return 'U+2642'; break;
            case
2: return 'U+2640'; break;
            case
9: return 'U+2205'; break;
        }
    }
}


?>


Maar het toepassen van DDD is vaak erg overdreven en DDD experts staan zelden met beide beentjes op de grond. Je kan ook gaan voor een simpele KISS (Keep It Simple Stupid!) of YAGNI (You Aren't Gonna Need It) aanpak.
 
Ozzie PHP

Ozzie PHP

30/04/2014 14:04:33
Quote Anchor link
Wat ik eigenlijk wil voorkomen is dat die unknown, male etc. op verschillende plekken terugkomen. Het lijkt mij handiger als ik dat gewoon kan doen aan de hand van die constanten in de interface. Met die reflection class zou dat moeten lukken. Ik denk dat dat valt onder de noemer van de KISS aanpak :)
 
LEDfan nvt

LEDfan nvt

30/04/2014 15:57:33
Quote Anchor link
@ozzie wat ik bedoelde met die view is iets zoals Wouterj zij.
 



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.