login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Class in class... (Opgelost)

Offline Wouser - 10/07/2007 20:19
Avatar van WouserPHP interesse Hoi,

Ik heb even een vraagje... Ik heb een database class en ben nu net begonnen met session class, die sessies gaat regelen enzo. Nu is mijn vraag hoe kan ik de eerste class de database class gebruiken in me session class omdat ik namelijk ook dingen eruit/erin de database moet zetten...

Heeft iemand een voorbeeldje ofzo voor mij?

3 antwoorden

Gesponsorde links
Offline Stijn - 10/07/2007 20:40
Avatar van Stijn PHP expert Je moet je object $database meegeven als parameter in één van je functies. Een voorbeeld verklaart alles:

  1. <?php
  2. class Session
  3. {
  4.  
  5. function var( $database , $var )
  6. {
  7. return $database->query("SELECT * FROM table WHERE var = $var");
  8. }
  9.  
  10. }
  11.  
  12. //eerst $database maken
  13. $db = new Database(....);
  14.  
  15. //session class
  16. $session = new Session();
  17. $session->var( $db , 'blaat' );
  18. ?>

Als je PHP5 hebt kan je zelfs code hinting gebruiken.
  1. <?php
  2. class Session
  3. {
  4.  
  5. public function var( Database $database , $var )
  6. {
  7. return $database->query("SELECT * FROM table WHERE var = $var");
  8. }
  9.  
  10. }
  11.  
  12. //eerst $database maken
  13. $db = new Database(....);
  14.  
  15. //session class
  16. $session = new Session();
  17. $session->var( $db , 'blaat' );
  18. ?>
Offline Wouser - 10/07/2007 21:28 (laatste wijziging 10/07/2007 23:53)
Avatar van Wouser PHP interesse k thanks gelukkig beschik ik over het laatste 

Ja ff nog een vraagje... Nauw heb ik BV die database class in meerdere functies nodig... Jij hebt hem nauw maar in 1 functie...

kan ik bv ook BV dit doen?

  1. <?php
  2. class Session
  3. {
  4. private Database $database;
  5.  
  6. public function __construct($database)
  7. {
  8. $this->database = $database;
  9. }
  10.  
  11. public function var($var )
  12. {
  13. return $this->database->query("SELECT * FROM table WHERE var = $var");
  14. }
  15.  
  16. }
  17.  
  18. //eerst $database maken
  19. $db = new Database(....);
  20.  
  21. //session class
  22. $session = new Session();
  23. $session->var( $db , 'blaat' );
  24. ?>
Offline Stijn - 11/07/2007 00:29
Avatar van Stijn PHP expert Ja maar je constructor is verkeerd 

  1. <?
  2. ....
  3. //eerst $database maken
  4. $db = new Database(....);
  5.  
  6. //session class
  7. $session = new Session($db);
  8. $session->var( 'blaat' );
  9. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.247s