Ik heb enige ervaring met PHP, nu ben ik gaan kijken naar OOP programmeren en nu zie ik dat er veel met class wordt gewerkt.
Ik begrijp het niet helemaal, misschien dat iemand mij iets meer kan uitleggen op een simpele manier.

Ze maken dus een class... is dat één ding dat je vervolgens kunt aanroepen net zoiets als een function? enfin...

<?php
class ContForm{

var $UserName;
var $UserEmail;

function SendMail()
{
// mail versturen
// blablabla
}
}
?>

ik weet dat je variable aangeeft als "var $variable" en dat alles natuurlijk
binnen de class 'tag' moet zeg maar. Wat ik onder andere niet helemaal snap is dat je vaak ziet iets als $var -> $doh;

Hopelijk iemand die mij wat meer kan uitleggen over dit soort van 'denk werk' binnen het PHP gebeuren.

Groetjes
OOP staat los van PHP. Classes staan zo ongeveer gelijk met OOP. Een klasse moet je zien als de blauwdruk van een object; een aannemer gebruikt een bouwtekening (de klasse) om een huis (het object) mee te maken.

Met de klasse maak je dus het object, waarmee je vervolgens dingen kan gaan doen. Variabelen binnen klassen (dan heten ze properties) worden overigens sinds PHP5 niet meer aangeduidt met var, maar met hun zichtbaarheid: private voor variabelen die alleen binnen de klasse zelf bruikbaar zijn, protected voor variabelen die ook zichtbaar mogen zijn voor overervende klassen en public variabelen zijn voor iedereen zichtbaar. Je krijgt dan dus public $username bijvoorbeeld.

Als $username public is, kan je die aanspreken van buiten de klasse door $mijnObject->username. Dat pijltje is een speciale operator. Kijk ook eens op php.net voor de OOP mogelijkheden van PHP5.

[edit]Linkje toegevoegd.[/edit]
een class is een verzameling van functies en constanten.
Je kan binnen een class functie in die class oproepen dmv $this -> functienaam();
Je kan de vars ook aanroepen, $this -> var;
dus het is gewoon een 'groot' bestand wat ik include en wat ik vervolgens gebruik door in het document de functie of variable aan te roepen door
$this->SendData();
bijvoorbeeld?
constanten moet ik even opzoeken geen idee wat dat zijn haha.
Iemand die ergens een goede tutorial weet hiervoor misschien?
OOP leren om het zo maar te noemen hehe
constanten zijn die dingen die je bovenaan difinieerd, var $variable; blablabla
Er zijn in de tutorial afdeling van deze site wel enkele tutorials hierover. Je kan het niet echt zien als een groot bestand wat je include denk ik. Je moet het meer zien als een soort van onderdeel: als je het nodig hebt, pak je het uit de 'kast' en verwerkt het in je systeem.

Let erop dat een klasse een verzameling bij elkaar behorende functies en eigenschappen zijn. Als je een klasse maakt die email verstuurt en in die klasse maak je verbinding met een database om emailadressen op te halen, dan kan je dat beter door een apart database object laten doen.

Ik heb overigens net het 'handboek objectgeorienteerd programmeren' van Jan Beurghs gelezen. Op zich een toegankelijk (en relatief goedkoop) boek, ook al gaat het imho niet enkel over OOP (maar ook over 'gewone' programmeeraspecten). Enige nadeel vond ik verder dat hij Java als programmeertaal gebruikt in dat boek (waardoor sommige gedeelten onbruikbaar zijn voor andere programmeertalen), maar je kan het vrij makkelijk omzetten naar PHP.
Manaus schreef op 22.08.2007 14:42
constanten zijn die dingen die je bovenaan difinieerd, var $variable; blablabla
Juist niet, dat zijn variabelen! Constanten zijn 'variabelen' die niet veranderen: const CONSTANTE_WAARDE = 100;

Variabelen kunnen en mogen wél veranderen!

Over constanten binnen klassen staat ook het een en ander in de PHP handleiding waarvan ik eerder de link gaf.
Object geörienteerd programmeren is een bepaalde denkwijze, dit leer je niet even in een middagje... Er is genoeg te vinden over OOP, zoek maar is in google. Voor een contact formulier hoef je eigenlijk geen klasse te maken, je kan direct een mail klasse gebruiken, bijv. PHPMailer. Denk dat je het beste eerst met bestaande bestaande classes moet gaan werken.
Let op dat jullie hier PHP4 en PHP5 door elkaar halen -> const kan vanaf PHP5, en var is vanaf PHP5 deprecated; public, private en protected zijn daarvoor in de plaats gekomen. Zie de documentatie.

Maar wat Rik zegt: OO is een denkwijze. Zelfs als je klassen gebruikt, wil dat nog niet zeggen dat je volgens deze denkwijze werkt. Daar komt veel meer bij kijken.
@TS
Als je begint met OOP, doe het dan wel in PHP 5. Want OOP van PHP 4 is echt waardeloos, en dat van PHP 5 is vrij krachtig.
hartstikken bedankt voor jullie reacties ik zal een
op onderzoek uitgaan!

Reageren