Ga naar inhoud

[PHP] klassen definiëren


Aanbevolen berichten

Hoi, Ik ben bezig met het leren van PHP, ik gebruik daarvoor het boek 'PHP4 het complete handboek' Nu heb ik daarover een vraag. Vanaf paragraaf 6.5.3 (blz 80) leer je klassen definiëren. Als voorbeeld wordt de volgende code gebruikt: [code:1:23b6bed0af] <?php class IntStack { /* a stack with type restricted to int */ var $the_stack; // var $count = 0; function push ($intvar) { if (is_integer($intvar)) { $this->the_stack[$this->count] = $intvar; // put on stack $this->count++; // increment count print("Push of $intvar succeeded.<BR>"); } else print("Hey, IntStack is for ints only!<BR>"); } function pop () { if ($this->count > 0) { $this->count--; // decrement count $top = $this->the_stack[$this->count]; return($top); } else print("Hey, the stack is empty!<BR>"); } } ?> [/code:1:23b6bed0af] Als ik die code oproep op mijn lokale servertje dan duurt het laden erg lang en pas na een paar minuten komt er een wit leeg scherm te voorschijn. Hoe kan dit? Ook snap ik niet hoe het klassen definiëren precies werkt en wat het inhoudt. Wie kan mij verder helpen? Bvd, Klaas
Link naar reactie
Ik snap nog niet veel van het definiëren van klassen dus ga ik proberen de code uit te leggen, zoals ik denk dat die werkt. [code:1:0f6ba64a23] <?php class IntStack // een klasse maken met de naam IntStack { var $the_stack; // (deze slashes stonden er al, waarom? var $count = 0; // deze slashes niet, maak variabele met de naam count function push ($intvar) // voeg variabele $intvar toe { if (is_integer($intvar)) // als intvar een integer is dan.... { $this->the_stack[$this->count] // snap ik niet, wat doet de operator: "->" = $intvar; // put on stack?? snap ik niet $this->count++; // increment count? en nu in het nederlands print("Push of $intvar succeeded.<BR>"); } else print("Hey, IntStack is for integers only!<BR>"); } function pop () // vanaf hier snap ik al het onderstaande niet { if ($this->count > 0) { $this->count--; // decrement count $top = $this->the_stack[$this->count]; return($top); } else print("Hey, the stack is empty!<BR>"); } } $my_stack = new IntStack; $my_stack->push(1); $my_stack->push(49); $my_stack->push("It's a no-go!"); $pop_reslult = $my_stack->pop(); print("Top of the stack was $pop_result<BR>"); $pop_result = $my_stack->pop(); print("Top of the stack as $pop_result<BR>"); $pop_result = $my_stack->pop(); ?> [/code:1:0f6ba64a23] Ik snap er zoal jullie zien niet veel van. Wie kan mij helpen? Bvd, Klaas
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...