PDO configuratie gebruiken binnen een class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tim Ouwerkerk

Tim Ouwerkerk

12/04/2011 16:29:48
Quote Anchor link
Hallo allemaal,

ik ben sinds deze week begonnen met het verdiepen in PDO, kom er alleen niet uit hoe ik bijvoorbeeld een PDO configuratie bestand maak zoals:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $dbh = new PDO('mysql:host=127.0.0.1;dbname= ...','root','');?>

en dan dit kan gebruiken binnen een class? want ik krijg: Undefined variable: dbh in ...

Bedankt alvast.
 
PHP hulp

PHP hulp

22/11/2024 07:09:39
 

12/04/2011 16:40:02
Quote Anchor link
Heb je al eens een tutorial als deze bekeken?
 
Tim Ouwerkerk

Tim Ouwerkerk

12/04/2011 18:22:02
Quote Anchor link
Karl alvast bedankt, maar ik denk niet dat het antwoord daar tussen staat, mischien moet ik het even verduidelijken, stel je voor ik heb 3 bestanden ,een class,een PDO config, en een php pagina.

PDO config:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $dbh = new PDO('mysql:host=127.0.0.1;dbname= ...','root','');?>


Class:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php class test{ public function test(){$dbh->query("SELECT * FROM test") }}?>


Bestandje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php require_once('class_bestand.php') $test = new test $test->test(); ?>


dit wil hij dus niet doen omdat hij in de class niet weet waar $dbh van me config bestand voor staat, maar hoe kan ik dit wel laten doen?
Gewijzigd op 12/04/2011 18:23:32 door Tim Ouwerkerk
 
Joren de Wit

Joren de Wit

12/04/2011 18:58:26
Quote Anchor link
Je zult die $dbh mee moeten geven bij het instantieren van je 'test' klasse. Met andere woorden, zorg ervoor dat de constructor een parameter van het type PDO accepteert:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class Test {
  private $_dbh;

  public function __construct(PDO $dbh) {
    $this->_dbh = $dbh;
  }


  public function test() {
    $this->_dbh->query("...")
  }
}

?>

Dit voorbeeld is natuurlijk lang niet af, maar geeft een eerste opzet. Nodige controles zijn noodzakelijk en ook zul je nog een output moeten geven vanuit de test() method (als je daar een SELECT query uitvoert, is het logischer om daar ook de output samen te stellen).
 



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.