Avatar billede vivaa.dk Nybegynder
11. september 2007 - 15:54 Der er 10 kommentarer og
1 løsning

oop i php

Hej

Jeg er ved at øve mig i at udvikle OOP med PHP og har lavet følgene:

<?php

class A
{
    public $a = 0;
    public $b = 0;
    public $c = 0;
   
    function A($a, $b, $c)
    {
        $this->a = $a;
        $this->b = $b;
        $this->c = $c;
    }
   
    function multiplyValues()
    {
        $result = $this->a*$this->b*$this->c;
        return $result;
    }
   
    function subtractValues()
    {
        $result = $this->a/$this->b/$this->c;
        return $result;
    }
}

$a = new A(2, 3, 4);
echo $a->multiplyValues();
echo $a->subtractValues();

?>

Men den udskriver ikke noget..
Hvad gør jeg galt?
Avatar billede plx Nybegynder
11. september 2007 - 15:59 #1
PHP 4 eller 5?
Avatar billede jakobdo Ekspert
11. september 2007 - 16:00 #2
Bruger du php4 eller php5?
Det virker fint hos mig.

http://www.codebreaker.dk/exp/795858exp.php
Avatar billede vivaa.dk Nybegynder
11. september 2007 - 16:01 #3
det er PHP5
Avatar billede vivaa.dk Nybegynder
11. september 2007 - 16:02 #4
hmm underligt..Den udskriver ingenting på min lokalserver..

Har installeret XAMPP til det
Avatar billede jakobdo Ekspert
11. september 2007 - 16:07 #5
Prøv at lav noget debug info i din funktioner:

echo 'DEBUG: A kaldt';

echo 'DEBUG: multiplyValues kaldt';

echo 'DEBUG: Inden';
$a = new A(2, 3, 4);
echo $a->multiplyValues();
echo $a->subtractValues();
echo 'DEBUG: Efter';
Avatar billede vivaa.dk Nybegynder
11. september 2007 - 16:11 #6
hmm der er da noget helt galt her..

Den udskriver stadig ikke noget :S
Avatar billede vivaa.dk Nybegynder
11. september 2007 - 16:14 #7
ahh jeg fandt fejlen.. der var bare gået noget kage i mine filer :S

Er det ellers en rigtig måde jeg gør det på?
Avatar billede jakobdo Ekspert
11. september 2007 - 17:45 #8
Jeg har rettet din klasse og funktioner lidt til, ellers ser det rigtigt ud:

<?php
//http://www.eksperten.dk/spm/795858

class A
{
    private $a = 0;
    private $b = 0;
    private $c = 0;
 
    function A($a, $b, $c)
    {
        $this->a = $a;
        $this->b = $b;
        $this->c = $c;
    }
 
    function multiply()
    {
        return $this->a*$this->b*$this->c;
    }
 
    function subtract()
    {
        return $this->a/$this->b/$this->c;
    }
}

$a = new A(2, 3, 4);
echo $a->multiply();
echo '<br />';
echo $a->subtract();

?>
Avatar billede vivaa.dk Nybegynder
27. september 2007 - 09:07 #9
Ok super..
Bortset fra at multiply skulle hedde divide.. hehe..

Smid et svar for points jakobdo, nu når du har brugt tid på det :)

Beklager ventetiden.. Jeg havde helt glemt det her spørgsmål...
Avatar billede jakobdo Ekspert
27. september 2007 - 09:44 #10
Svar!
Avatar billede jakobdo Ekspert
27. september 2007 - 11:27 #11
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester