[PHP] classes & logica ?*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hallo menschen

stel ik wil een php usersysteem maken. ik maak een class 'user' en ik doe:

$piet = new(user);
$piet->loopnaardebakker();
$piet->eetbrood();

tot zover niks aan de hand, maar stel ik heb een functie nodig die alle users in de database broodjes laat eten..

$bla = new(user);
$bla->eetallemaalbrood();

wat ik niet netjes vind is dat 'bla' nu niet 1 user betreft, maar meerdere; terwijl het me logischer lijkt als een instance van een class 'user' ook daadwerkelijk 1 gebruiker 'is'.

moet ik nu bijv in mn users.php naast de user class een paar losse functies maken zoals 'eetallemaalbrood', 'verwijderalleusers' etc; of kan ik het ook netjes oplossen met classes?

ik hoop dat mijn vraag een beetje duidelijk is :)

Acties:
  • 0 Henk 'm!

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
Een nieuwe class 'usersgroup' maken die een array bevat met alle user objecten? Dan kun je op die usersgroup class eetbrood() uitvoeren die dat doorgeeft aan alle objects in die array?

If you can't beat them, try harder


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dat klinkt wel logisch

dus dat ik 1 class users maak, met een select-methode?

$piet = new($users);
$piet->selectuser('select * from users where username = "piet" ');
$piet->eetbroodje();

en

$stommemensen = new($users);
$stommemensen->selectuser('select * from users where gemeenheid > 10');
$stommemensen->verwijder();

dat zou wel moeten werken toch? (als ik dus de result van de query in een var van de class opsla)

[ Voor 11% gewijzigd door Verwijderd op 04-04-2004 12:17 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Je kunt ook zoiets als dit doen. (jammer dat PHP geen static members heeft)
PHP:
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
<?php

class test
{
    var $var;

    function test($num)
    {
        $this->var = $num;

        global $testref;
        $testref[] = &$this;

        foreach ( $testref as $instance )
        {
            print $instance->var . "<br/>";
        }
        print "<br/>";
    }
}

$a = new test(1);
$b = new test(2);
$c = new test(3);

?>

Noushka's Magnificent Dream | Unity