Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP] klassen definiëren

Anoniem
None
8 antwoorden
  • 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
  • Misschien handig om ook even te vermelden hoe je de code aanroept?

    Verdere uitleg over klassen staat in hoofdstuk 30 trouwens…
  • 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…
  • Je moet de code natuurlijk wel aanroepen met de code die op de nevenbladzijde staat (blz 81 dus)…
  • en.. heb je wel een webservertje en php parser?

    t.
  • [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
  • 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
  • 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.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.