[oop] waar controleren?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

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 »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

REMOTE - Front-end Angular developer

Functie Het IT-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn momenteel op zoek naar een ervaren Front-end developer die autonoom en gedisciplineerd aan de slag gaat, en bij aanvang als enige developer met hun Front-end applicaties bezig is. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde

Bekijk vacature »

Backend developer

Functie omschrijving Ben jij graag bezig met de back-end van applicaties? Zou je dit graag willen doen voor een kleine werkgever waar ook tijd is voor een drankje op zijn tijd? Je taken hierbij zullen bestaan uit: Gebruik maken van de volgende technieken: .NET (core), C#, SQL, XML, MVC, JSON, REST & SOAP API. Gebruik maken van de volgende tools: Visual Studio, GIT, Jira, Jenkins. Bovengenoemde technieken en tools ga je gebruiken om: Nieuwe functionaliteiten te ontwikkelen. Wijzigingsverzoeken van klanten uitvoeren. Verzorgen van koppelingen tussen data. Bedrijfsprofiel Jouw nieuwe werkgever bevindt zich in regio Raamdonksveer en bieden oplossingen op gebied

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Back end developer Digital Agency

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Medior Front end developer React

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor op de

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

Bekijk vacature »

.NET developer

Functie The position we have for you As a .NET developer you will work for one of our customers active in the High Tech Industry. Our customers are mainly located in the Eindhoven area. We are very selective when it comes to the projects we accept and therefore only focus on innovative and complex projects. Because our customers are mainly specialized in machine construction, you often work close to the machines. Our team currently consists of Embedded engineers, IOT developers and Cloud engineers. We mainly work on Microsoft projects where WPF, UWP, .NET Core and Microsoft Azure are used. Eisen

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

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

04/06/2023 13:01:55
 
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.