[oop] waar controleren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

C# .NET Developer

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een klein team van professionals ben je als C# .NET Developer verantwoordelijk voor het ontwikkelen van één van de applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »

C#.NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie; Het oplossen van bugs en incidenten. Hier ga je werken Als C#.NET Developer binnen deze organisatie kan jij het verschil maken. Zij werken momenteel nog met programmatuur die is ontwikkeld in C++. Hiervan gaan zij afscheid nemen zodra alle nieuwe software in C#.NET geschreven is. Een grootschalig en langdurig project. Voor hen is deze software van

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

Oracle APEX Ontwikkelaar (3.500-6.000 euro)

Bedrijfsomschrijving Ben jij een getalenteerde Oracle APEX ontwikkelaar met minimaal één jaar ervaring in het ontwikkelen van Oracle APEX-applicaties? Ben je gepassioneerd over het ontwikkelen van bedrijfskritische oplossingen en wil je werken bij een toonaangevend consultancybedrijf? Dan zijn wij op zoek naar jou! Deze organisatie beschikt over zowel inhouse als externe projecten, maar bovenal over een sterk team en netwerk van opdrachten waardoor jij jezelf verder kunt ontwikkelen. Het team bestaat uit een aantal junior en medior developers, maar vooral uit senioren. De business unit managers binnen het team zijn mensen die hun vak verstaan en zelf als Oracle APEX

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

Junior Front end developer

Functie Jij als developer gaat ons helpen onze producten verder te ontwikkelen en in te zetten in de markt. Op dit moment bestaat ons SaaS product uit 3 componenten die zowel los als in een pakket gekocht kunnen worden. Het gaat hier om een online kaartapplicatie, een workflow tool en een monitoring tool. Momenteel zijn wij 3 jaar geleden gestart met de ontwikkeling. De tech-stack waarmee we werken is voornamelijk Javascript, Vue.js en Python. Daarnaast gebruiken wij FaundaDB als database en werken we veel met GIS applicaties. De uitdaging die we momenteel hebben is dat we momenteel een intern team

Bekijk vacature »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

.NET developer

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 C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

APEX Ontwikkelaar in een team van Oracle Developer

Bedrijfsomschrijving Wij zijn op zoek naar een APEX Ontwikkelaar om onze opdrachtgever in Den Haag te versterken. In deze rol zul je verantwoordelijk zijn voor het ontwikkelen en onderhouden van de front-end van onze applicaties met behulp van Oracle Application Express (APEX). Je werkt aan zowel inhouse als externe projecten. De sfeer binnen het Oracle team is gemoedelijk en men probeert elkaar te helpen én van elkaar te leren. Zo ontstaat er een prettige en plezierige werksfeer waar ruimte is voor persoonlijke ontwikkeling en groei. Er wordt gewerkt met de meest nieuwe technologieën waardoor je kennis up-to-date blijft. Het bedrijf

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 »
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

23/11/2024 23:16:48
 
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.