Lekker zelf programmeren :P

Ok, na deze korte en bondige inleiding in OOP zal ik ff wat codevoorbeeld geven. We gaan een klasse schrijven om een verbinding te maken met een MySQL database.

Je begint in OOP met het definieren van een klasse. Dat doe je als volgt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

class connect_db
{

// hier komen later variabelen en functies...

}    //sluiten van de klasse
?>


Zoals je ziet, is het maken van een klasse erg makkelijk.
Wat je vervolgens moet doen, is variabelen declareren/initialiseren en functies maken, anders heb je vrij weinig aan je klasse.
In ons simpele voorbeeld voor de verbinding met MySQL hebben we bijvoorbeeld variabelen nodig voor de host, username, password en databasenaam.
Variabelen worden op de volgende wijze gedeclareerd in klassen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var $pass;
?>


Als het goed is, heb je tot nu toe het volgende geschreven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

class connect_db
{
    var
$host;    // je host
    var $user;    // je gebruikersnaam
    var $pwd;    // je password
    var $db;      // naam van de database

// hier komen zometeen de functies

}
?>


Je hebt nu de noodzakelijke variabelen gedeclareerd. De variabelen worden later - binnen de klasse - aangeroepen in de speciale vorm $this->host of $this->pwd.
Nu gaan we de functie schrijven. Allereerst moet er verbinding gemaakt worden met de database:
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
function connect()
{

    $connection = mysql_connect($this->host, $this->user, $this->pwd) or die ("Error: kon geen verbinding maken met de database!");

/* als er vervolgens verbinding is gemaakt, kan PHP de database selecteren. */

if($connection)    //als er verbinding gemaakt is, de database selecteren
{
    $select_db = mysql_select_db($this->db) or die ("Error: kon de database niet selecteren!");
}
}
    //sluit de functie af
?>


Nu heb je dus een uiterst simpele functie geschreven om binnen de klasse verbinding te maken met een database. Je kan in plaats van $connection ook schrijven $this->connection, maar dan moet je hem wel eerst declareren bovenaan bij de andere variabelen.
De functie moet je nog wel binnen de klasse plaatsen. Let erop, dat je ook al waarden kan meegeven aan de variabelen. Dat is vrij logisch eigenlijk. Je hebt nu het volgende.

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

class connect_db
{
    var
$host = "localhost";    // je host
    var $user = "db_user";    // je gebruikersnaam
    var $pwd = "db_pass";    // je password
    var $db = "OOP";      // naam van de database

function connect()
{

    $connection = mysql_connect($this->host, $this->user, $this->pwd) or die ("Error: kon geen verbinding maken met de database!");

/* als er vervolgens verbinding is gemaakt, kan PHP de database selecteren. */

if($connection)    //als er verbinding gemaakt is, de database selecteren
    {
    $select_db = mysql_select_db($this->db) or die ("Error: kon de database niet selecteren!");
    }
  }
    // sluit de functie af
}    // sluit de klasse
?>


Je klasse is nu klaar. Sla hem op als test.php of test.inc.php (als je hem wilt includen in een ander bestand).
Als je hem nu opent in je server, zie je dat er nog vrij weinig gebeurt. Een lege pagina...
Dit komt omdat we alleen maar een klasse geschreven hebben, er zijn nog geen objecten gemaakt. Om een object te maken schrijf je na de klasse, of nadat je het bestand hebt geinclude:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$obj
= new connect_db;
?>


Je maakt dus gewoon een nieuwe variabele, en die wijs je meteen toe met "new" en dan de naam van de klasse die je wil gebruiken.
Je kan controleren of er een object is gemaakt door de ingebouwde functie is_object te gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(is_object($obj))
{

    print ("Object gemaakt");
}
else{
    print ("Dit is in ieder geval geen object...");
}

?>


Als alles goed is gegaan, heb je dus een object. Vervolgens kun je de in de klasse geschreven functies aanroepen op dezelfde manier zoals je variabelen aanroept binnen de klasse:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$obj
->connect();
?>


Eventueel kun je de functie zo herschrijven dat je hem hier waarden meegeeft ;)
En nu heb je een database verbinding. Testen door een query uit te voeren op je database, en natuurlijk mysql_fetch_object gebruiken he ;)

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Wat is object georienteerd programmeren?
  2. Lekker zelf programmeren :P
  3. conclusie

PHP tutorial opties

 
 

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.