Ik begijp niet echt waar je $this-> moet neerzetten in een class..

Bijv:

<?php
class mysql
{
var $Host;
var $Db_user;
var $Db_pass;
var $Db_name;
var $Db_connection;

// connectie functie
function db_connect()
{
if (!$Db_connection = mysql_connect($Host, $Db_user, $Db_pass, $Db_name))
{
echo 'kan geen verbinding maken';
exit;
}
if (!mysql_select_db($Db_name, $Db_connection))
{
echo 'kan database niet selecteren';
exit;
}
return $Db_connection;
?>

Waar zou in het bovenstaande dan overal $this-> moeten staan?? - Mischien begrijp ik het dan beter ^^
Het spreekwoord heeft het over verwijten.
Verwijt, niet verwijst =p
MarDek schreef op 03.04.2006 14:39
Aanvulling op Mitch

Dus alle attributen (in PHP gedeclareerd met var) en alle methods (in php classes function genoemd) krijgen binnen de class het voorvoegsel $this->.


In een klasse worden functies methoden genoemd.

Maar om nu even heel duidelijk te zijn:
In PHP kun je klassen maken waar methoden (functies) binnen zichzelf kunt laten aanroepen. Dat doe je gewoon met
$this->[methode]([parameter]);


Ook kun je de eigenschappen van een klasse op die manier aanroepen:
$this->eigenschap


Verder klopt je voorbeeld niet helemaal, je mist een accolade (}), maar dat terzijde.
Heel topic verknoeit omdat ik een typfout maak :-)
Ohja ghehehehhe, dat heb ik nou met meerdere dingen. Expres verander ik um niet. Netzoals met mondopmondreclame. Ik vind het mooier.

edit: Ondanks dat ik laatst een prachtig spreekwoorden boek had gekregen, zal eens vaker lezen, en het correct onthouden. Jongens ik houdt zo wel steeds het offtopic van dit topic intact.
Sebastiaan schreef op 03.04.2006 14:58
Heel topic verknoeit omdat ik een typfout maak :-)
verknoeid (voltooid deelwoord), typefout
@Donster
Ik zie dat je nog geen OOP-expert bent om het even zo te zeggen. Waarom ga je niet meteen aan de gang met PHP 5? Dat raad ik je echt aan en het is niet moeilijker, het is zelfs logischer en veel beter. Veel te vinden op PHP.net handleiding over OOP PHP 5.
je hep mooi ut heele topik verkudt zoo
Jip schreef op 03.04.2006 14:57

In een klasse worden functies methoden genoemd.
Nee, in een class worden functiies ook functies genoemd. Waar ik doel is dat methods in php aangeduidt worden met FUNCTION().

Binnen een class kan je ook gewoon een functie aanroepen, die blijven dan dus gewoon functies.

De onjuiste aanduiding binnen PHP komt waarschijnlijk omdat OO binnen PHP nog in de kinderschoenen staat.

Met $this geef je BINNEN een claas aan dat je een functie of variabele aanspreekt van diezelfde class..

Bijv:

<?

class MyClass
{
var $value; // Definieer de variabelen van de class

function MyClass()
{
$this->value = 25; // Spreek een variabele aan van de class
$value = 36; // Spreekt een 'normale' variabele aan

echo $this->value; // geeft 25
echo $value; // geeft 36

echo $this->myFunction(); // Spreek een functie aan van de class (geeft 49).
echo myFunction(); // Spreek een 'normale' functie aan (geeft 64).
}

function myFunction()
{
return 49;
}
}

function myFunction()
{
return 64;
}

?>

wes schreef op 03.04.2006 15:04
je hep mooi ut heele topik verkudt zoo


Voor jou hept tenzij je kan aantonen dat je uit Amsterdam komt.

Reageren