Heey, ik heb een vraag waar ik al best lang mee zit..

Ik gebruik op mijn website alleen PDO, gewoon voor query's en om te verbinden met de DB enzo.. Maar ik gebruik geen classes. Is dit dan alsnog OOP?

Mag ik jullie er op wijzen dat PDO enkel OOP is in tegenstelling tot bijvoorbeeld MySQLi die kan procedureel en OO geschreven worden.
Reshad F op 23/07/2013 17:54:48

Mag ik jullie er op wijzen dat PDO enkel OOP is in tegenstelling tot bijvoorbeeld MySQLi die kan procedureel en OO geschreven worden.


Maar.. als je OO wilt programmeren hoef je dus eigenlijk geen classes te gebruiken...?
Nee Reshad, PDO kan je enkel met classes gebruiken, maar dat maakt het nog geen OOP. OOP wil zeggen dat alles 'object georienteerd' is. Als de rest van je applicatie niet volledig in objecten gebouwd is dan is het dus geen OOP. Daarmee zou dan ook de vraag van de TS beantwoord moeten zijn.
Erwin H op 23/07/2013 18:27:10

Nee Reshad, PDO kan je enkel met classes gebruiken, maar dat maakt het nog geen OOP. OOP wil zeggen dat alles 'object georienteerd' is. Als de rest van je applicatie niet volledig in objecten gebouwd is dan is het dus geen OOP. Daarmee zou dan ook de vraag van de TS beantwoord moeten zijn.


Maar.. PDO kun je ook zonder classes gebruiken?
Dat 'enkel met classes' sloeg op het feit dat PDO zelf uit classes bestaat en niet uit procedurele code. Hoe je het verder aanroept maakt natuurlijk geen donder uit. Php gaat niet bepalen of jij in OOP moet werken of niet.
Mmm.. Waarom werken mensen dan met classes? Omdat het handiger is ofzo?
Stijn,

Classes bieden inderdaad voordelen. Het gaat te ver om hier helemaal te vertellen wat classes allemaal voor voordelen hebben en hoe je ze kunt gebruiken. Daar zijn wel boeken en tutorials over geschreven.

Je kunt een class een beetje zien als een losstaand programma zoals je ook op je pc hebt. Neem nou bijvoorbeeld Kladblok. Je kunt dit programma meerdere keren openen en ze kunnen allemaal een andere inhoud weergeven. Echter is het toch echt maar één programma die in de windows directory opgeslagen is. iedere keer wordt dat programma geladen, alleen krijgt kladblok de ene keer de instructie op 'leesmij.txt' te openen en de andere keer de instructie om 'verzineenswat.txt' te openen. Dit noemen we instantiëren. Ieder Kladblok venster noemen we dan een instantie. elk venster heeft dezelfde eigenschappen. (het lettertype, menu enz is allemaal het zelfde) maar elk venster kan een andere inhoud hebben. Zo ook met classes:
<?php

class User {
private $name;

public function getName()
{
return $this->name;
}

public function setName($name)
{
$this->name = $name;
}
};

$user1 = new User();
$user2 = new User();
$user3 = new User();

$user1->setName('Henk');
$user2->setName('Piet');
$user3->setName('Klaas');

echo $user1->getName();
echo $user2->getName();
echo $user3->getName();

?>
Erwin H op 23/07/2013 18:27:10

Nee Reshad, PDO kan je enkel met classes gebruiken, maar dat maakt het nog geen OOP. OOP wil zeggen dat alles 'object georienteerd' is. Als de rest van je applicatie niet volledig in objecten gebouwd is dan is het dus geen OOP. Daarmee zou dan ook de vraag van de TS beantwoord moeten zijn.


Lijkt me niet dat iemand een webapp volledig OOP schrijft, er zijn vaak stukjes waar het totaal overbodig is om OOP te gaan. 100% OOP in php komt bijna nooit voor in mijn mening.

Reageren