Het Princiepe OOP

Door Kees Schepers, 22 jaar geleden, 10.529x bekeken

Leer wat het princiepe is van OOP in PHP

Gesponsorde koppelingen

Inhoudsopgave

  1. Voorwoord
  2. OOP, Waarom?
  3. Wat is een object?
  4. Voorbeeld
  5. Nawoord

 

Er zijn 17 reacties op 'Het princiepe oop'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Winston Smith
Winston Smith
22 jaar geleden
 
0 +1 -0 -1
Wel goed dat zo'n tutorial er is, want dat is toch een vraag waar veel mensen zich mee bezig houden: waarom? :)

Toch nog even een opmerking: OOP heeft imho alleen zin als je met een groot project bezig bent waar je voor langere tijd mee bezig bent en met meerdere mensen. Als je gewoon simpele dingetjes in elkaar flanst, dan heeft het waarschijnlijk meer zin en is het makkelijker om structureel of procedureel te programmeren. OOP is in die gevallen alleen maar onduidelijk.
Willem Jan Z
Willem Jan Z
22 jaar geleden
 
0 +1 -0 -1
Ik geef je gedeeltelijk gelijk Kasper, ik vond classen en OOP ook onzin, maar ben nu met een site bezig, die nog aardig wat jaartjes moet blijven staan. En ik blijf hem geen jaren onderhouden, dus moet mijn 'opvolger' er toch ook nog wijs uit kunnen worden. En met OOP is het mogelijk een soort handleiding te schrijven, zodat je niet eens PHP hoeft te kennen de site te kunnen gebruiken...


22 jaar geleden
 
0 +1 -0 -1
Goed gedaan. :)
Typfout: "het object leeft te maken" en "Princiepe"
En waarom doe je Function ipv function?
@Kasper: Juist niet! OOP wordt juist daarbij gebruikt!
Eric Cartman
Eric Cartman
22 jaar geleden
 
0 +1 -0 -1
Ik vind dit een mooie en duidelijke tutorial, alleen ik snap eigenlijk het nut niet echt van classes. Je kan toch ook gewoon zoiets doen:

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
<?php
function edit_variabel ($variabele, $nieuwe_inhoud) {
  $variabele = $nieuwe_inhoud;
}

function
add_new_conent($variabele, $new_content) {
  $variabele = $variabele.$new_content;
}

function
del_variabele($variabele) {
  unset('$' $variabele);
}


$variabele = "Hallo";
echo $variabele. "<br/>\n";

edit_variabel($variabele, 'Hallo, ik ben nu anders');
echo $variabele. "<br/>\n";

add_new_conent($variabele, ', en vager...');
echo $variabele. "<br/>\n";

del_variabele($variabele);
echo $variabele. "<br/>\n";
?>


Ik weet dat het script niet klopt, maar het gaat even om het principe. Dit is toch eigenlijk opzich wat handiger, of zie ik dat nu verkeeerd..?
Kees Schepers
kees Schepers
22 jaar geleden
 
0 +1 -0 -1
Nou zo krijg je dus honderden functies, die allemaal direct benaderd kunnen worden. Bij OOP verzamel je deze functies, en zorg dat je variabelen alleen maar intern kan gebruiken.

Bij OOP benader je een ding (bijvoorbeeld een user klasse) als een "ding" en zo kun je dus meer users inialiseren, en zijn sommige functies en variablen alleen toegekend aan die user. Zo houd je het overzichterlijker, veiliger en makkelijker te behren.
Eric Cartman
Eric Cartman
22 jaar geleden
 
0 +1 -0 -1
Maar, je kan toch ook in een functie zetten voor bijvoorbeeld welke user die functie geldt..? Dit lijkt mij handiger dan allerlei classes en variabelen te defenie?ren...
PurpleMadness -
PurpleMadness -
22 jaar geleden
 
0 +1 -0 -1
Door dit snap ik OOP al een beetje =D Goede tut!!
Kees Schepers
kees Schepers
22 jaar geleden
 
0 +1 -0 -1
@jip

Nee, je maakt een framework (klasse) voor een gebruiker object welke eigenschappen een gebruiker heeft en wat een gebruiker allemaal "kan" functionaliteit van het object gebruiker.

De framework, ofwel de klasse kun je inialiseren aan meerdere gebruikers. Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
$jantje
= New User($jantjezijnid);
$piet = New User($pietzijnid);
$tim = New User($timzijnid);
$rick = New User($timzijnid);
?>

Zo heb je dus 4 gebruikers ge-inialiseert en hebben deze 4 gebruikers hun eigenschappen en functionaliteit.
Eric Cartman
Eric Cartman
22 jaar geleden
 
0 +1 -0 -1
Je bedoelt dus dat je eigenlijk niet meer met een database hoeft te werken..?
Remco van Arkelen
Remco van Arkelen
22 jaar geleden
 
0 +1 -0 -1
Quote:
Je bedoelt dus dat je eigenlijk niet meer met een database hoeft te werken..?


Zo zou je het niet helemaal moeten zien, maar stel je voor dat je de functionaliteit van database-functies in een object zo stoppen (abstractie), je kunt dan in de class User gebruik gaan maken van dat database-object, je kunt een instantie van dit object doorgeven aan de constructor van je andere class; als voorbeeld:

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
<?php
$objDB
= new DataBaseLayer();

$objUser = new User( $objDB, 12 );

// In de class User kan dan zoiets staan:

class User
{
  var
$oDB;
  var
$intUserID;
  
  // Constructor
  function User( &$objDB, $intUserID )
  {

    $this->oDB = $objDB;
    $this->intUserID = $intUserID;
  }

  function
GetUserDetails()
  {

    $qryDetails = "SELECT * FROM usertable WHERE id=".$this->intUserID;
    $resDetails = $this->oDB->Query($qryDetails);

    // Etc
  }
}

?>


22 jaar geleden
 
0 +1 -0 -1
Classes zijn gewoon heel handig, kan niet uitleggen waarom. Dat is gewoon zo, het is gewoon een kwestie van ontdekken en het door hebben :)
BlcKJcK
BlcKJcK
22 jaar geleden
 
0 +1 -0 -1
Heel duidelijk uitgelegd!
Barman V
Barman V
22 jaar geleden
 
0 +1 -0 -1
Daarbij sluiten de classes ook beter aan op bijvoorbeeld patterns zoals het Model View Controller. Denk ook aan de handige Factory en Builder.
Roel
Roel
21 jaar geleden
 
0 +1 -0 -1
Wow, bedankt voor de uitleg, nu begrijp ik ook hoe het echt bedoeld is, en waarom je altijd new ... doet, ik dacht meer dat je als het ware een map opende, maar het is dus het aanmaken van een object, dat wist ik nieteens. :)
Jurgen assaasas
Jurgen assaasas
21 jaar geleden
 
0 +1 -0 -1
Ik snap ook nog steeds niet hoe heel het OOP principe werkt, maar ik ga het leren.

Ook snap ik het nut niet, je kunt toch ook 3x dezelfde fucntie aanroepen?

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

function insertuser($username, $pass){

$sql = "INSERT INTO users SET username='".$username."', password='".$password."'";
if($result = mysql_query($sql)){
$message = "U bent toegevoegd";
}

else
{
$message = "U bent niet toegevoegd";
}


return $message;
}


?>
Emmanuel Delay
Emmanuel Delay
20 jaar geleden
 
0 +1 -0 -1
Het nut van classes ondervind je beter wanneer je programmeert in een taal zoals bv. C# of C++;

In C# kan je hoe dan ook niets doen zonder classes. php is echter een taal die veel soepeler is. Je kan een hoop dingen omzeilen waardoor je OOP strikt gezien niet nodig hebt. OOP is echter een nieuwe manier van denken. Eens je er mee overweg kan, vraag je je af hoe je het ooit zonder kon doen.

Om eerlijk te zijn, in php heb ik voorlopig niet te veel ervaring met OOP, maar ik zal er zeker mee experimenteren en zien of het zinnig is.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Vincent
Vincent
20 jaar geleden
 
0 +1 -0 -1
Goeie en duidelijke tut!

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Voorwoord
  2. OOP, Waarom?
  3. Wat is een object?
  4. Voorbeeld
  5. Nawoord

Labels

  • Geen tags toegevoegd.

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.