PDO zonder classes en OOP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stijn Langezaal

Stijn Langezaal

23/07/2013 15:53:49
Quote Anchor link
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?

Titel aangepast[/modedit]
Gewijzigd op 23/07/2013 18:45:27 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

23/12/2024 12:43:53
 
Jeroen VD

Jeroen VD

23/07/2013 16:04:55
Quote Anchor link
verander alsjeblieft eerst je titel, dit is zo nietszeggend.

nee dat is niet OOP, maar gewoon flat. als het er ongeveer zo: http://www.phphulp.nl/php/script/beveiliging/login-bruteforce-protectie-pdo/1950/loginphp/1742/ uitziet is dat flat.
 
Stijn Langezaal

Stijn Langezaal

23/07/2013 17:29:56
Quote Anchor link
Jeroen VD op 23/07/2013 16:04:55:
verander alsjeblieft eerst je titel, dit is zo nietszeggend.

nee dat is niet OOP, maar gewoon flat. als het er ongeveer zo: http://www.phphulp.nl/php/script/beveiliging/login-bruteforce-protectie-pdo/1950/loginphp/1742/ uitziet is dat flat.


Ja, zo ziet het er ongeveer uit.
Maar is het beter om dit niet te doen of maakt het niet uit?
 
Reshad F

Reshad F

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

Stijn Langezaal

23/07/2013 18:22:33
Quote Anchor link
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...?
 
Erwin H

Erwin H

23/07/2013 18:27:10
Quote Anchor link
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.
 
Stijn Langezaal

Stijn Langezaal

23/07/2013 18:39:21
Quote Anchor link
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?
 
Erwin H

Erwin H

23/07/2013 19:12:29
Quote Anchor link
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.
 
Stijn Langezaal

Stijn Langezaal

23/07/2013 19:14:58
Quote Anchor link
Mmm.. Waarom werken mensen dan met classes? Omdat het handiger is ofzo?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/07/2013 20:21:53
Quote Anchor link
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:
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
23
24
25
26
27
28
29
<?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();

?>
 
Chris PHP

Chris PHP

24/07/2013 12:20:49
Quote Anchor link
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.
 
Erwin H

Erwin H

24/07/2013 12:48:08
Quote Anchor link
1) dat is dan jouw mening, mijn ervaring is anders. Niet alleen volg ik zelf volledig de OOP methodologie voor al mijn applicaties (op het web), maar ook is het zo dat als je eenmaal volgens OOP werkt, het geen zin meer heeft om zelfs voor een kleine app het niet te volgen. Als je namelijk een groot deel van je functionaliteit in classes hebt ondergebracht ga je niet nogmaals die functionaliteit in procedurele code over schrijven alleen maar omdat het een kleine applicatie is. Zelfs dan kan je al die classes weer gebruiken. En dat is nu juist de kracht van OOP (wat veel mensen die er nooit serieus mee hebben gewerkt vaak niet begrijpen). Zelfs voor een eenvoudige site met een paar pagina's gebruik ik mijn eigen (OOP) framework. De enige uitzondering is een site waar ik alleen statische data heb.
2) dat doet nog niets af aan het feit dat als je links of rechts een paar classes gebruikt je nog geen OOP applicatie hebt.
 
Stijn Langezaal

Stijn Langezaal

24/07/2013 13:29:41
Quote Anchor link
Mm..
Het lijkt me overbodig als je alleen iets wilt fetchen om daarvoor een hele functie te schrijven?

Gewoon SELECT * FROM users WHERE id = $_SESSION['id'] bijvoorbeeld,
 
Reshad F

Reshad F

24/07/2013 14:19:20
Quote Anchor link
Erwin H op 23/07/2013 19:12:29:
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.


Ja dat bedoelde ik dus! :p verkeerd uitgelegd weliswaar
 
Erwin H

Erwin H

24/07/2013 15:38:55
Quote Anchor link
Stijn Langezaal op 24/07/2013 13:29:41:
Mm..
Het lijkt me overbodig als je alleen iets wilt fetchen om daarvoor een hele functie te schrijven?

Gewoon SELECT * FROM users WHERE id = $_SESSION['id'] bijvoorbeeld,

Als je zo'n gedachtegang hebt moet je in elk geval niet aan OOP gaan denken. OOP staat niet voor 'even snel de makkelijkste manier', maar voor herbruikbaarheid van je code en onderhoudbaarheid van je applicatie(s).
 
Kris Peeters

Kris Peeters

24/07/2013 15:44:31
Quote Anchor link
Zelfs zonder oop; "mensen, gebruik meer functies!"

Dat heeft enkel maar voordelen
 
Erwin H

Erwin H

24/07/2013 16:02:08
Quote Anchor link
Amen!

Als stelregel kan je nemen dat alles dat langer dan 10 regels code is beter opgedeeld kan worden in 1 of meerdere functies.
 
Stijn Langezaal

Stijn Langezaal

24/07/2013 17:21:41
Quote Anchor link
Ik sla de classes en functies over.
Zolang PHP het maar uit z'n hoofd haalt om procedural code te gaan verwijderen in de toekomst..
 
Kris Peeters

Kris Peeters

24/07/2013 17:29:55
Quote Anchor link
Ik zie het niet te vlug veranderen.
Bij de aankondiging van PHP6 leek het er op alsof ze hopen 'rommel', 'pruts-functies', de mysql_ functies ... gingen verwijderen.

Het klonk (in mijn oren) toen als: "de prutsers zullen niet mee kunnen; die zullen met php5 achter moeten blijven"

Het is er niet van gekomen.
Het lijkt er op dat men die grote groep mensen toch niet wil achterlaten.
 
Bart V B

Bart V B

24/07/2013 17:30:41
Quote Anchor link
Stijn,
In procedurele code zijn classes en functions heel handig.
OOP is een denkwijze.
Het heeft niets met php van doen.
Je hoeft geen OOP applicatie te maken.
Je kan het. Ook al is de oo denkwijze er (nog) niet, dan is in een class en functions schrijven wel een handige opstap.

Scheelt je straks veel extra oefenen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/07/2013 18:24:20
Quote Anchor link
Stijn Langezaal op 24/07/2013 17:21:41:
Ik sla de classes en functies over.
Zolang PHP het maar uit z'n hoofd haalt om procedural code te gaan verwijderen in de toekomst..


Dat je classes overslaat, dat kan. Maar functies? Stijn jongen, Programmeren zonder functies is waanzin. Waarom ga je niet lekker wat anders doen? Of neem eens de moeite om iets te proberen als je dan toch perse met PHP bezig wilt blijven.
 



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.