Avatar billede ttopholm Nybegynder
14. juli 2006 - 16:10 Der er 6 kommentarer og
1 løsning

hent variabel i arvet klasse

Jeg har disse to simple klasser..

<?PHP

class api
{
    private $xml;

    public function setowner($test)
    {
        $this->$xml = $test;
    }

}

class test Extends api
{


    public function getowner()
    {
        return $xml;
    }

}

$test = new test();

echo $test->setowner("hej");
echo $test->getowner();
?>


men hvorfor kan jeg ikke tilgå variablen $xml i "hovedklassen"
Avatar billede erikjacobsen Ekspert
14. juli 2006 - 16:39 #1
Først og fremmest fordi private variabler nu engang er private. Ellers var der ingen grund til at have dem. Prøv:

<?php

class api
{
    protected $xml;

    public function setowner($test)
    {
        $this->xml = $test;
    }

}

class test Extends api
{


    public function getowner()
    {
        return $this->xml;
    }

}

$test = new test();

$test->setowner("hej");
echo $test->getowner();
?>
Avatar billede morhan Novice
14. juli 2006 - 16:41 #2
Avatar billede ttopholm Nybegynder
14. juli 2006 - 17:07 #3
erikjacobsen -> Får denne fejl:

Notice: Undefined variable: xml in c:\Inetpub\wwwroot\api\apiClass.php

Fatal error: Cannot access empty property in c:\Inetpub\wwwroot\api\apiClass.php

Linien ser således ud:
$this->$xml = $test;
Avatar billede ttopholm Nybegynder
14. juli 2006 - 17:08 #4
sådan her:
$this->xml = $test;
Avatar billede ttopholm Nybegynder
14. juli 2006 - 17:11 #5
erikjacobsen smid et svar ;-)
Avatar billede erikjacobsen Ekspert
14. juli 2006 - 17:45 #6
Jeg samler slet ikke på point, tak.
Avatar billede ttopholm Nybegynder
24. august 2006 - 10:43 #7
hmm... så æder jeg dem selv....
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