Error Class: correct?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

Bekijk vacature »

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

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 ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

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 »

Senior Front-End Developer

Als Senior Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Senior Front-End Developer bij Coolblue? Als Senior Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Senior Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Nadenken

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

Fullstack Developer

Functieomschrijving Voor een erkende werkgever in regio Etten-Leur zijn wij op zoek naar een Fullstack Developer met PHP/Laravel ervaring. Je gaat aan de slag met het bouwen van maatwerk software voor klanten die actief zijn in een specifieke markt. Als fullstack developer ben je samen met een enthousiast team van 7 collega’s verantwoordelijk voor de ontwikkeling, beheer en innovatie van informatiesystemen voor klanten in een specifieke branche. Verder ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Ervaring met Laravel is een must. Om de klant zo goed mogelijk te

Bekijk vacature »
- Raoul -

- Raoul -

04/03/2012 16:53:45
Quote Anchor link
Beste PHP-ers,

Ik ben bezig met een error class maar deze is niet echt goed 'valid' OOP.
Dit is mijn 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
<?php
    class Errors {
        public static $_errors;
        public static $_totalErrors = 0;

        public static function addError($err) {
            self::$_errors[] = $err;
            self::$_totalErrors++;
        }

        
        public static function isSuccess() {
            if (self::$_totalErrors == 0)
                return true;
            else
                return false;
        }

        
        public static function getErrors() {
            $return = '';
            
            if (self::$_totalErrors == 1)
                $return .= 'Er is een fout opgetreden';
            else
                $return .= 'Er zijn ' . self::$_totalErrors . ' fouten opgetreden';
            
            $return .= '<ul>';
                
            foreach(self::$_errors as $err) {
                $return .= '<li>' . $err . '</li>';
            }

            
            $return .= '</ul>';
            
            self::$_errors = null;
            self::$_totalErrors = 0;
            
            return $return;
        }
    }

?>

Is er een manier om dit anders te doen maar om dan bijvoorbeeld niet met functions te werken?

Raoul
 
PHP hulp

PHP hulp

26/04/2024 07:02:22
 
Pieter Jansen

Pieter Jansen

04/03/2012 18:12:28
Quote Anchor link
Kun je het misschien anders uitleggen? Want de code zelf is gewoon valide code. Het is een static class dus geen OO maar wel OO geprogrammeerd, daarentegen heb je wel "output" in je class wat weer niet hoort.

Over de functionaliteit, als die werkt en het werkt naar behoren zou ik niet al te veel lopen aanpassen.

Wat bedoel je met "bijvoorbeeld niet met functions te werken" ?
 
Tom Swinkels

Tom Swinkels

04/03/2012 21:41:27
Quote Anchor link
Probeer als je OO werkt te zorgen dat een methode maar verantwoordelijk is voor één ding. Als ik naar je methode addError kijk doet die al twee dingen, namelijk: een error in een array zetten en de count bijhouden.

Je kunt bijvoorbeeld een nieuwe methode maken countError() in deze methode kun je met de php functie count ophalen hoeveel resultaten er in de array zitten. Dat zijn dan de aantal fouten.

Verder zie ik je inderdaad met static werken. Werk in OO met $this->var;.

Kijk eens naar de error klasse van Mark: https://webdevils.nl/articles/12-oop-gastenboek-deel-8-validators/

Mochten er dingen onduidelijk voor je zijn kun je daar ook altijd even op reageren.
 
Ozzie PHP

Ozzie PHP

04/03/2012 21:44:58
Quote Anchor link
Tom Swinkels op 04/03/2012 21:41:27:
Probeer als je OO werkt te zorgen dat een methode maar verantwoordelijk is voor één ding. Als ik naar je methode addError kijk doet die al twee dingen, namelijk: een error in een array zetten en de count bijhouden.

Je voegt een error toe en je telt 'm . Kan toch prima in 1 functie? Lijkt me raar om daar 2 functies van te maken.
 
Tom Swinkels

Tom Swinkels

04/03/2012 21:50:02
Quote Anchor link
@Ozzie Dan is het geen OO meer, een methode mag maar verantwoordelijk zijn voor een ding. Verder zou ik het nooit op die manier doen, aangezien je ook gewoon de array met count kan tellen.

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
    private $_error;

    public function __construct()
    {
        $this->_error = array();
    }
    public function setError($message)
    {
        $this->_error[] = $message;
    }
    public function countError()
    {
        return count($this->_error);
    }


Zoals je bij het voorbeeld ziet kan er met de methode setError() een error opgegeven worden. Wanneer je de methode countError() oproept zal die terug geven hoeveel fouten er in de array zitten.
 
Wouter J

Wouter J

04/03/2012 22:04:18
Quote Anchor link
Het is natuurlijk niet heel strict genomen en hier kan het gewoon in 1 method gebruiken.
Al is het wel onzinnig om bij te houden, want met een simpele count op de errors lukt het ook al en dat is naar mijn mening iets meer OO.

Quote:
Verder zie ik je inderdaad met static werken. Werk in OO met $this->var;.

Ook static werken is werken in OO. Met bijv. singletons of dit soort dingen kun je gewoon heel goed static gebruiken. De klasse is dan meer een verzameling van functies dan een object, maar het is gewoon OO. Zoiets met normale methods doen is gekkenwerk.

Een puntje waar ik wat op aan te merken heb is de getErrors klasse. Deze vult meteen al in hoe het op het scherm moet komen. Totaal geen flexibiliteit. In dit geval kan ik er ook voor kiezen om de errors in een table te plaatsen. Dan moet ik eerst weer de klasse aanpassen en dat wil je niet in OO.
Je kunt dus beter in de getErrors doen wat de method zegt, de errors in een mooie array teruggeven. Wat je vervolgens met die array doet hoeft die klasse totaal niet te weten.
 
Tom Swinkels

Tom Swinkels

04/03/2012 22:36:47
Quote Anchor link
@Wouter J: Een methode mag toch maar verantwoordelijk zijn voor één ding? Hij is nu verantwoordelijk voor het maken van een string, en het tellen? Teminste, zo heb ik het geleerd.
 
- Raoul -

- Raoul -

04/03/2012 22:48:47
Quote Anchor link
Bedankt voor jullie reacties.

De static gebruik ik eigenlijk omdat ik die class erg vaak zal nodig hebben én het is irritant om er dan iedere x een instance voor aan te maken.
 



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.