login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Klassen structuur (Opgelost)

Offline Codestar - 21/03/2009 12:17
Avatar van CodestarNieuw lid Hoi.

Laatst ben ik begonnen met het ontwerpen van een fotogallerij die ik wil gaan programmeren in PHP.
Op school willen ze volgens mij hebben dat je bijvoorbeeld van foto een klasse maakt en van album. Zodat je netjes per foto er properties aan kunt hangen en functies.

Maaaar, wanneer ik de foto's / albums ophaal uit mijn database dan krijg ik een array terug met de gegevens. Hoe giet ik deze in album en foto objecten? Klinkt misschien vrij basic, toch is dit principe is me nog niet helemaal duidelijk.

6 antwoorden

Gesponsorde links
Offline Martijn - 21/03/2009 12:25 (laatste wijziging 21/03/2009 12:25)
Avatar van Martijn Crew PHP fetchen?
  1. $fetch = mysql_fetch_assoc($query);
  2. echo $fetch['id'];


of met meerdere rijen:
  1. while($fetch = mysql_fetch_assoc($query)){
  2. echo $fetch['id']."<br>";
  3. }
Offline maigel - 21/03/2009 19:20
Avatar van maigel PHP beginner als je ze in objecten wilt zetten kun je misschien beter PHP.net: mysql_fetch_object gebruiken
Offline Rik - 21/03/2009 19:35
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Misschien goed om te weten dat je met mysql_fetch_object een stdClass terugkrijgt. Als je een tweede parameter meegeeft wordt de class met die naam gebruikt om het object van aan te maken. Met de derde parameter kunnen ook nog constructor parameters worden meegegeven.

Voor meer flexibiliteit zul je in een loop steeds een object aan moeten maken.
Offline Codestar - 22/03/2009 12:39
Avatar van Codestar Nieuw lid Bedankt voor de informatie tot zo ver. De mysql_fetch_object ziete r idd handig uit, maar wat ik eigenlijk bedoel is het aanmaken en opvullen van objecten met gegevens die op worden gehaald uit een database.

Stel je hebt een klasse klant. Deze heeft een paar properties zoal klant id, regisratie nummer enzovoort. Ook heeft deze klasse de method getCustomerName() om de naam terug te geven van die klant.

Nu wil ik een array opstellen met klant objecten. Deze objecten zijn gevult met de informatie die in de tabel klant staat in de database. Hoe doe je dit? In het verleden werkte ik altijd met associatieve arrays maar blijkbaar is het seksie-er om alles in objecten te gieten. Misschien dat het dan extra OO-code word ofzo.

Hopelijk is mijn vraag nu wat duidelijk dankzij het voorbeeld met een klant.

Ps:
Als iemand een voorbeeld kan geven gebaseerd op het 3 lagen model (boundary, controll & entity klassen). Dan zou het het meest overzichtelijk overkomen denk ik.

Alvast bedankt!
Offline Rik - 22/03/2009 13:29
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
OO moet je niet gebruiken omdat het er mooi uit ziet, maar vooral omdat je code er veel overzichtelijker en flexibeler door wordt.

Een voorbeeldje hoe je het kan doen (niet getest):
  1. <?php
  2. class Customer {
  3. public $id;
  4. public $regnr;
  5. public $name;
  6. public function getCustomerName() {
  7. return $this->name;
  8. }
  9. }
  10.  
  11. $objects = array();
  12. $result = mysql_query('SELECT id, regnr, name FROM customers');
  13. while ($object = mysql_fetch_object($result, 'Customer')) {
  14. $objects[] = $object;
  15. }
Offline Codestar - 22/03/2009 13:40
Avatar van Codestar Nieuw lid Volgens mij was dat wat ik wilde weten, thanks! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.213s