Foutafhandeling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

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 »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

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 »

Front-end React developer

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

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 »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »
Crude Oil

Crude Oil

06/10/2012 11:36:09
Quote Anchor link
Dit is een deel van mijn code voor een gebruiker-class:
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 Gebruiker{

    private $id;
    private $gebruikersnaam;
    private $wachtwoord;
    private $email;
    private $rechten;
    
    function
id(){
        return $this->id;
    }
    
    function
setId($id){
        if(!empty($this->id)){
            //fout
        }
        if(!ctype_digit($id)){
            //fout
        }
        $this->id=$id;
    }
    
    function
gebruikersnaam(){
        return $this->gebruikersnaam;
    }
    
    function
setGebruikersnaam($gebruikersnaam){
        $this->gebruikersnaam=$gebruikersnaam;
    }
    
    function
setWachtwoord($wachtwoord){
        if(strlen($wachtwoord) < 6){
            //fout
        }
        $this->wachtwoord=sha1($wachtwoord);
    }
        
    function
email(){
        return $this->email;
    }
    
    function
setEmail($email){
        if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
            //fout
        }
        $this->email=$email;
    }
    
    function
rechten(){
        return $this->rechten;
    }
    
    function
setRechten($rechten){
        if($rechten <=3 && $rechten >0){
            $this->rechten=$rechten;
        }
else{
            //fout
        }
    }

?>


Nu gaat het hem om de foutafhandeling (zie ook de stukjes //fout). Als ik hiervoor exceptions gebruik wordt gelijk het hele script gestopt.
Als ik bijv twee dingen wil wijzigen (bijvoorbeeld email en rechten) en ik voer bij beide een ongeldige waarde in, dan krijg ik eerst een melding dat het emailadres onjuist is, dan zorg ik dat het emailadres juist is, maar dan blijkt dat ik de rechten ook niet goed had ingevuld. Ik zou dus graag willen dat beide fouten in een keer woorden weergeven.

Iemand een idee hoe ik dit kan aanpakken?
 
PHP hulp

PHP hulp

22/11/2024 10:34:38
 
Frank Nietbelangrijk

Frank Nietbelangrijk

06/10/2012 12:29:31
Quote Anchor link
een extra variabele in je class met bijvoorbeeld de naam $error

Dan zou je een constructor kunnen aanmaken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

function Gebruiker() {
$this->error = array();
}


?>


waarna je op de plaatsen waar je nu //fout hebt staan zoiets kunt schrijven als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$this
->error[] = "er is een fout opgetreden bla bla bla";
?>


en dan kun je waar je bijv een functie toevoegen die de fouten laat zien:

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

function showErrors() {
foreach($this->error as $err)
    echo $err."<br/>";
}


?>


daarna hoef je enkel deze functie aan te roepen om de fouten weer te geven.
Wel moet je er voor zorgen dat je de fouten afhandelt voor je foutmeldingen van PHP krijgt.

Ik moet trouwens zeggen dat je schrijfwijze uitstekend is, misschien een beetje overdone zelfs maar mijn complimenten het is heel erg goed leesbaar
 
Wouter J

Wouter J

06/10/2012 12:48:56
Quote Anchor link
Ik zou dan het observer pattern gebruiken. Even een snel getypte code:
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
interface SubjectInterface
{
    public function addObserver(ObserverInterface $observer);
    public function removeObserver(...);
    protected function notifyObservers();
}


interface ObserverInterface
{
    public function update();
}


class User implements SubjectInterface
{
    private $observers;
    private $error;

    private function setError($message)
    {

        $this->error = $message;

        $this->notifyObservers();
    }


    public function getError()
    {

        return $this->error;
    }


    protected function notifyObservers()
    {

        foreach ($this->getObservers() as $observer) {
            $observer->update($this->getError());
        }
    }


    // ... implement overige subject methods
}

class ErrorObserver implements ObserverInterface
{
    private $errors;

    public function __construct()
    {

        $this->errors = array();
    }


    public function update($errorMessage = null)
    {

        $this->errors[] = $errorMessage;
    }


    public function hasErrors()
    {

        return 0 < count($this->getErrors());
    }


    public function getErrors()
    {

        return $this->errors;
    }
}


// gebruik
$userErrorObserver = new ErrorObserver();
$user = new User();
$user->addObserver($userErrorObserver);

// ... vul de gegevens fout in

// in je HTML

if ($userErrorObserver->hasErrors()) : ?>

<ul class=errors>
    <?php foreach ($userErrorObserver->getErrors() as $error) : ?>
        <li><?php echo $error ?></li>
    <?php endforeach ?>
</ul>
<?php endif ?>
Gewijzigd op 06/10/2012 12:49:11 door Wouter J
 
Crude Oil

Crude Oil

06/10/2012 12:49:18
Quote Anchor link
@Frank
dank voor je reactie (en je compliment :P). Zo'n oplossing zal idd wel werken. Waar ik dan weer aan twijfel is of het wel correct is (om in oop te denken) error is tenslotte geen eigenschap van een gebruiker, ik zal er nog ns over nadenken

Toevoeging op 06/10/2012 12:58:13:

Wouter J op 06/10/2012 12:48:56:
Ik zou dan het observer pattern gebruiken. Even een snel getypte code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
...

Dankjewel voor deze code, ik zal er eens naar kijken (aangezien dit wat uitgebreider is en wat kennis inmiddels weer is weggezakt (tijdje niet meer dit gedaan) zal het wat tijd kosten, maar heel erg bedankt!
Gewijzigd op 06/10/2012 12:50:16 door Crude Oil
 



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.