Toon posts:

[PHP] Gebruik van functions en vars in classes

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit een beetje te klooien met classes: ik heb iets gemaakt, maar het werkt niet. Een beetje ombouwen, en het werkt wel, maar ik zou graag willen weten waarom het eerste niet werkt :(

Dat zou nl. mooi zijn als dat zou werken :)

Eerste niet-werkende script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

class calc {
    var $totaal;
    var $total_pages;
    
    function total()
    {
        $this->totaal = $this->total_pages;
        echo "Totaal berekend:" . $this->totaal;
    }

    function pages($pages)
    {
        $this->total_pages = $pages * 25;
        return $this->total_pages;
    }
}
calc::pages(5);
calc::total();
?>


Tweede aangepaste, wel-werkende script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

class calc {
    var $totaal;
    var $total_pages;
    
    function total($pages)
    {
        $this->totaal = calc::pages($pages);
        echo "Totaal berekend:" . $this->totaal;
    }
    
    function pages($pages)
    {
        $this->total_pages = $pages * 25;

        return $this->total_pages;
    }
}

calc::total(5);
?>

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Wat werkt er niet?

Hoe heb je die classes ontworpen?

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 31 augustus 2002 @ 14:39:
Wat werkt er niet?

Hoe heb je die classes ontworpen?
Uhm, zelf? :P

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
In je niet werkend script moet je een object van die class instantieren.

code:
1
2
3
calc c1
c1.pages(5);
c1.total();


Opm: di geen php code, maar pseudo-code . * whoami is niet bekend met PHP.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 31 augustus 2002 @ 14:44:
In je niet werkend script moet je een object van die class instantieren.

code:
1
2
3
calc c1
c1.pages(5);
c1.total();


Opm: di geen php code, maar pseudo-code . * whoami is niet bekend met PHP.
Woei! Werkt! :D

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

class calc {
    var $totaal;
    var $total_pages;
    
    function total()
    {
        $this->totaal = $this->total_pages;
        echo "Totaal berekend:" . $this->totaal;
    }

    function pages($pages)
    {
        $this->total_pages = $pages * 25;
        return $this->total_pages;
    }
}
$test = new calc;
$test->pages(5);
$test->total();
?>


Idd, dit had ik moeten doen, maar dat calc::pages() is makkelijk met die :: ... Maar goed, dit werkt :)

Binnen de class kun je toch wel class::function gebruiken ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Verwijderd schreef op 31 augustus 2002 @ 14:47:
[...]


Binnen de class kun je toch wel class::function gebruiken ?


Ja, omdat je dan al op een instance van die klass werkt (normaal gezien toch).

https://fgheysels.github.io/


  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
ik dacht dat je:

PHP:
1
$test = new calc();


hoort te doen?

Pas de replâtrage, la structure est pourrie.


  • Grum
  • Registratie: Juni 2001
  • Niet online
Mag beide.

Dit kwam dus gewoon omdat je geen instance had :)
Pagina: 1