Is dit toegestaan in OOP?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donny Wie weet

Donny Wie weet

30/09/2013 17:50:44
Quote Anchor link
Hoi allemaal,

Ik ben lekker aan het stoeien met OOP. Alleen vraag ik me af of dit mag:

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
<?php

class logIn{
    public $username;
    public $password;
    public $error;

    public function __construct($gebruikersnaam, $wachtwoord){
        $this->username = $gebruikersnaam;
        $this->password = $wachtwoord;
    }


    public function checkLogin(){
        if ($this->username != 'Donny'){
            $this->error[] = 'Username klopt niet!';
        }


        if($this->password != 'test'){
            $this->error[] = 'Password klopt niet!';
        }


        if(empty($this->error)){
            return 'Alles ging goed';
        }
else {
            return implode($this->error);
        }

    }
}


$check = new LogIn('Donny', 'test');
echo $check->checkLogin();

?>


Groeten, Donny
 
PHP hulp

PHP hulp

27/11/2024 21:02:48
 
Ward van der Put
Moderator

Ward van der Put

30/09/2013 18:01:08
Quote Anchor link
Nee.
 
Wouter J

Wouter J

30/09/2013 18:04:06
Quote Anchor link
Nee, dat mag niet. In de klasse mag je niet al doen alsof je weet wat er aan de buitenkant met errors of geen errors gaat gebeuren.

Misschien wil ik dit wel toepassen op een engelse website, dan moet ik de klasse aanpassen (oei, dat is uit den boze!). Misschien ben ik wel een hele evil website eigenaar en toon ik gewoon helemaal geen errors en tel ik alleen hoevaak en hoeveel fouten mijn bezoekers maken... Misschien ben ik wel niet zo aardig als ik lijk en geef ik helemaal geen melding bij succes...

Allemaal situaties waarin jouw huidige klasse tekort komt.

Een oplossing? Nou, zou een ijverige OOer snel zeggen, gebruik exceptions! Maar dan krijg je maar 1 error per keer en naar mijn mening zijn exceptions niet voor user errors.

Ander idee? Gewoon de errors returnen en dus een lege array wanneer er geen errors zijn? Ja, kan best. Dan kunnen we doen met die array wat je maar wilt, je kan het vertalen, tellen, verbergen, weergeven...

Als laatst kun je ook nog een klasse maken. Bijv. ErrorCollection (hé, dat komt bekent voor... :p). Deze kun je dan een iterator laten zijn, waardoor je hem ook als array kunt gebruiken.
 
Donny Wie weet

Donny Wie weet

30/09/2013 19:00:47
Quote Anchor link
Wouter J op 30/09/2013 18:04:06:
Een oplossing? Nou, zou een ijverige OOer snel zeggen, gebruik exceptions! Maar dan krijg je maar 1 error per keer en naar mijn mening zijn exceptions niet voor user errors.


Ik heb er toch ook een array van gemaakt? Tenminste, nu heb ik private $errors = array();

Elke $error[] word nu geimplode als er erros zijn... Klopt dit wel?
 
Wouter J

Wouter J

30/09/2013 19:08:42
Quote Anchor link
>> Elke $error[] word nu geimplode als er erros zijn... Klopt dit wel?

Ik dacht toch dat ik dat in mijn berichtje duidelijk maakte :)
 



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.