[oop] waar controleren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Functie Wat ga je doen als Java developer? Jij komt terecht binnen een informeel team waarin je verantwoordelijk bent voor de backend systemen voor grote klanten als Ziggo en KPN. Als Medior Java developer werk je in teamverband en soms individueel. Gedurende de werkweek zal je veelvuldig sparren met je collega’s voor een goede implementatie van de software. Ben jij een echte Java developer? Ben je geïnteresseerd in de nieuwste technieken en de laatste ontwikkelingen? Dan ben je hier aan het juiste adres! Eisen Wat wordt er van jou verwacht? • Minimaal HBO/WO denk- en werkniveau; • Analytisch sterk, open

Bekijk vacature »

Back-end developer

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een gemotiveerde SQL Developer/ functioneel consultant. Jij wordt verantwoordelijk voor zowel het ontwerpen en implementeren van SQL-databases als voor het in kaart brengen van de bedrijfsprocessen van een organisatie en het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Ontwerp en implementatie van SQL-databases: Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Analyse van bedrijfsprocessen: Je analyseert de bedrijfsprocessen van de organisatie om de behoeften van de klant te begrijpen en te vertalen naar

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Teamlead PHP Developer

Functieomschrijving Voor een gewaardeerde werkgever in de buurt van Middelburg zijn wij op zoek naar een gemotiveerde teamlead PHP developer met affiniteit met Symfony/Laravel. Een enthousiast persoon die het ontwikkelteam komt versterken met het aanpakken van uitdagende projecten. Ben jij op zoek naar een uitdaging waar je de tijd en ruimte krijgt jezelf te ontwikkelen en je eigen IT-team aan te sturen? Lees dan snel verder! Die ga je doen: Bijdragen aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de PHP based applicaties; Ontwikkeling en beheer van de serviceportal in Symfony en de webshops in de tweede versie van

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

(Junior) Back-end Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Altijd al willen werken bij een organisatie, die maatwerk applicaties bouwt, die echt impact hebben in de maatschappij? Dit is je kans. Voor een kleine organisatie in de regio van Eindhoven ben ik op zoek naar een C# Ontwikkelaar. Jij gaat aan de slag met de ontwikkeling van maatwerk software en applicaties. Deze organisatie werkt voor grote organisaties in Nederland, maar ook voor het MKB. De projecten waar je aan gaat werken zijn erg divers, waardoor je werk uitdagend blijft en je erg veel kan leren. Verder ga je aan

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving Voor de gemeente Amsterdam zijn wij op zoek naar een softwareontwikkelaar Cleopatra. 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 brom- en 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. Functie

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: 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

Bekijk vacature »

Mendix Ontwikkelaar - Vernieuwen van het applicati

Bedrijfsomschrijving De ontwikkelingen in de transportsector gaan razendsnel. Bij ons kun je een belangrijke rol spelen in deze sector. We streven ernaar om onze klanten te ontzorgen op het gebied van continuïteit en veiligheid met innovatieve producten en diensten. We willen dat onze klanten de veiligste vervoerders van Europa worden. Ons team werkt hard om deze ambitieuze doelstellingen te bereiken en we bieden een motiverende werkomgeving aan. We zijn op zoek naar zelfstarters met een focus op resultaat en beslissingsbevoegdheid. Functieomschrijving Als Mendix ontwikkelaar bij deze organisatie heb je een gevarieerde baan. Het applicatielandschap wordt vernieuwd en de “schade en

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Core developer wordt jij onderdeel van ons team met drie breed ontwikkelde software engineers en een flexibele schil met zes ervaren freelancers. Jij gaat mee in de visie van onze organisatie om als IoT partner in deze branche specifieke markt “het” platform te blijven innoveren en deze ook steeds slimmer te maken. Wij hopen dan ook zeker dit in de toekomst te kunnen realiseren met bijvoorbeeld Artificial Intelligence. De architectuur van ons platform is opgemaakt uit een deel eigen protocol, een interface laag en een laag welke de protocollen van derde partijen vertaald naar het eigen

Bekijk vacature »

Full stack Python developer

Functie Samen met andere collega’s (een product owner, een software manager en een ervaren ontwikkelaar) ga jij onze producten verder ontwikkelen. Jouw verantwoordelijkheden zullen bestaan uit: – Verder wil gaan met de ontwikkeling van onze bestaande producten; nieuwe features! – Meedenkt over de roadmap van onze producten – Als sparringpartner kan optreden op het gebied van development – Zelf ook nieuwe ideeën op tafel durft te leggen en deze van scratch af aan wilt bouwen Hieronder ook een paar voorbeelden van projecten waar we momenteel mee bezig zijn of binnenkort aan willen beginnen: – Real-time interactie creëren in onze web

Bekijk vacature »

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »
Ozzie PHP

Ozzie PHP

26/02/2014 16:44:06
Quote Anchor link
Ola,

Ik heb een vraag. Stel we hebben een user class. Een user vult op een formulier op de website zijn e-mailadres in. Nu wil ik het e-mailadres toevoegen aan het User object.

Waar ik benieuwd naar ben is op welk moment je gaat controleren of het e-mailadres geldig is. Doe je dat voordat je het e-mailadres toevoegt aan het User object? Dus zo:

// de code klopt niet helemaal en is niet volledig
// het gaat enkel even om de denkwijze

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$mail
= validate($_POST['mail']);
$user->setMail($mail);
?>

Of... laat je de setMail() method in de User class het e-mailadres controleren? Zoiets als dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
public function setMail($mail) {
  $mail = validate($_POST['mail']);
  $this->mail = $mail;
}

?>
 
PHP hulp

PHP hulp

26/04/2024 01:36:02
 
Ward van der Put
Moderator

Ward van der Put

26/02/2014 17:19:39
Quote Anchor link
Je kunt de validatie beter aan de methode overlaten. In de class User kunnen andere of aanvullende regels gelden voor e-mailadressen dan in andere klassen.

Wel kun je de algemene validatie natuurlijk delegeren aan een aparte klasse voor een e-mailadres.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
class User
{
    public function setMail($mail)
    {

        if (EmailAddress::isValid($mail)) {
            $this->mail = $mail;
        }
    }
}

?>
 
Ozzie PHP

Ozzie PHP

26/02/2014 17:37:22
Quote Anchor link
Thanks Ward. Dat was ook mijn 1e gedachte.

Ik vroeg me alleen het volgende af. Je controleert het mailadres in de class zelf (evenals naam, geboortedatum e.d.). Vervolgens sla je de user op. De volgende keer haal je de (al gecontroleerde) gegevens uit de database. Je gebruikt weer de setters, en dan wordt alles weer opnieuw gecontroleerd. Dat is dus dubbelop. Hoe kun je dat voorkomen?
 
Jordi Kroon

Jordi Kroon

26/02/2014 17:50:31
Quote Anchor link
Ik doe het zelf buiten de User class.
Hier haal ik mijn hele post door de FormValidator class. Is alles correct dan gooi ik hem pas in het User object.

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
<?php

if ($form -> isMethod('post')) {

    $fields = $form -> getFields(array('user', 'pass', 'email', 'role', 'fullname'));

    $validator = new FormValidator($fields);

    $validator -> rule('required', array('user', 'pass', 'email', 'fullname'));
    $validator -> rule('email', 'email');
    $validator -> rule('in', 'role', array(1, 2));

    if ($validator -> validate()) {

        $user -> setUsername($fields['user']);
        $user -> setPassword($fields['pass']);
        $user -> setEmail($fields['email']);
        $user -> setRole($fields['role']);
        $user -> setFullname($fields['fullname']);

        $user -> create();
        //....
        
    } else {
        print_r($validator -> errors());
    }
}

?>
Gewijzigd op 26/02/2014 17:52:47 door Jordi Kroon
 
- Raoul -

- Raoul -

26/02/2014 18:51:18
Quote Anchor link
Ik sluit me aan bij Jordi. Een user classe mag geen validatie doen!!! Dat behoort namelijk niet tot z'n verantwoordelijkheden.
 
Ozzie PHP

Ozzie PHP

26/02/2014 19:53:19
Quote Anchor link
Dankjulliewel heren!

@Jordi:

Ik zit even jouw code te bekijken en heb een paar vraagjes.
- Waar maak jij je user object aan?
- Ik zie dat je de fullname niet controleert op bijv. het aantal tekens en of er geen cijders in staan?
- Zet je altijd spaties rondom -> ? Dus $foo -> foo(); (viel me ineens op)
- Wat doet de create method?
 
Jordi Kroon

Jordi Kroon

26/02/2014 22:08:55
Quote Anchor link
De create method maakt een nieuwe gebruiker aan. Verder check ik nog in de method of de user niet al bestaat etc, maar dat is in dit voorbeeld niet relevant. Ik check altijd alles eerst voordat ik alles in het user object gooi. Het user object maak ik in het begin al aan, maar het is beter om dit te doen na de validate.

Ik gebruik altijd spaties rondom " -> ". Dit doet mijn IDE (Aptana) automatisch bij re-indenting. Inmiddels ben ik er aan gewend en merk ik dat je code uiteindelijk overzichtelijker wordt als je er spaties omheen zet.

Verder controleer ik hier niet op het aantal chars en of het cijfers bevat of niet aangezien het code is uit mijn backend systeem (persoonlijk gebruik) :-)
 
Ozzie PHP

Ozzie PHP

26/02/2014 23:29:59
Quote Anchor link
>> De create method maakt een nieuwe gebruiker aan.

Hoe bedoel je dit? Je hebt toch al een user object?

>> Ik gebruik altijd spaties rondom " -> ".

Ah oké. Ga je je code dan ook op die manier uitlijnen? Dus dat je de pijlen gelijkzet? Bijv.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$validator
-> rule('in', 'role', array(1, 2));
$user      -> setName('Piet');
?>
 
- Raoul -

- Raoul -

27/02/2014 22:00:27
Quote Anchor link
over die save() method: Hij bedoelt waarschijnlijk dat hij dan insert in de database. Wat overigens ook geen verantwoordelijkheid van de user classe mag zijn; daar heb je mappers voor.
Gewijzigd op 27/02/2014 22:00:37 door - Raoul -
 
Ozzie PHP

Ozzie PHP

27/02/2014 22:05:59
Quote Anchor link
Oké, thanks Raoul!
 



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.