[oop] waar controleren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Ervaren PHP Developer

Functieomschrijving PHP Developer met brede ervaring gezocht! Ben jij een Full Stack PHP Developer met brede ervaring die toe is aan een volgende stap? Lees dan snel verder! Voor onze eindklant in de regio Nunspeet zijn wij op zoek naar een ervaren PHP Developer die het IT Team van deze organisatie gaat versterken. Wij zoeken een enthousiaste en breed georiënteerde IT-er die er voor gaat zorgen dat deze innovatieve organisatie de volgende stap gaat maken. Om deze functie goed uit te kunnen voeren moet je communicatief goed zijn en in staat zijn om zelfstandig problemen op te lossen. Daarnaast bestaat

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Front-end Developer - Juniorfunctie

Functie omschrijving Ben jij op zoek naar een uitdagende baan als front-end developer, in een informele werksfeer, waar jij echt het verschil kan maken? Wil jij graag werken voor een bedrijf dat sportiviteit en een open communicatie, hoog in het vaandel heeft staan? Dan hebben wij de perfecte vacature voor je! Voor een klein bedrijf in Rijen dat gespecialiseerd is in het omzetten van digitale woningtekeningen naar managementinformatie, zijn wij per direct op zoek naar een allround front-end developer. Jouw werkzaamheden zien er als volgt uit: Ja gaat nauw samenwerken met de back-end developer. De database structuur is volledig gebouwd

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Lead C++ Developer

The role of Lead C++ Developer As Lead C++ Developer at KUBUS you will be responsible for the implementation design of requirements and the software architecture of the desktop applications of BIMcollab, our platform for 3D model validation and issue management aimed at improving the quality of 3D building design models. Better 3D models lead to better buildings, thus contributing to the sustainability of the built environment with smarter use of materials, less waste and energy-efficient buildings. A good user experience is of paramount importance to us; we go for innovation and quality in our development. In your role as

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 »

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

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

25/04/2024 07:47:27
 
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.