anoniem Geplaatst: 10 juli 2002 Delen Geplaatst: 10 juli 2002 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 Quote Link naar reactie
anoniem Geplaatst: 10 juli 2002 Auteur Delen Geplaatst: 10 juli 2002 Misschien handig om ook even te vermelden hoe je de code aanroept? Verdere uitleg over klassen staat in hoofdstuk 30 trouwens... Quote Link naar reactie
anoniem Geplaatst: 10 juli 2002 Auteur Delen Geplaatst: 10 juli 2002 Morgen ga ik een kijkje nemen in hoofdstuk 30... Ik roep de code aan door de code op te slaan en daarma open ik die opgeslagen code met met mijn browser.(Opera) Ik werk trouwens met Win98e... Quote Link naar reactie
anoniem Geplaatst: 10 juli 2002 Auteur Delen Geplaatst: 10 juli 2002 Je moet de code natuurlijk wel aanroepen met de code die op de nevenbladzijde staat (blz 81 dus)... Quote Link naar reactie
anoniem Geplaatst: 10 juli 2002 Auteur Delen Geplaatst: 10 juli 2002 en.. heb je wel een webservertje en php parser? t. Quote Link naar reactie
anoniem Geplaatst: 11 juli 2002 Auteur Delen Geplaatst: 11 juli 2002 [quote:027281edac="teacher"]en.. heb je wel een webservertje en php parser? t.[/quote:027281edac] Ja natuurlik heb ik dat :) Nu ik de code van blz 81 heb toegevoegd aan de code, werkt het wel! Bedankt allemaal. Klaas Quote Link naar reactie
anoniem Geplaatst: 11 juli 2002 Auteur Delen Geplaatst: 11 juli 2002 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 Quote Link naar reactie
anoniem Geplaatst: 11 juli 2002 Auteur Delen Geplaatst: 11 juli 2002 Het lijkt me slim als je een wat basiskennis PHP gaat opdoen. Pas dan moet je met klasses beginnen. En lees hoofdstuk 30, daar staat alles in. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen