Avatar billede exposure Nybegynder
25. november 2005 - 11:01 Der er 6 kommentarer og
1 løsning

OOP class

Hvorfor virker dette ikke?

class myClass1
{
    public __construct()
    {    }

    public function myFunc()
    {    }
}

class myClass2
{
    private $myClass;

    public __construct()
    {
        $myClass = new Myclass1();
    }

    public function callMyClass1()
    {
        $myClass->myfunc();
    }
}

den siger at $myClass ikke er et object
Avatar billede bromer Nybegynder
25. november 2005 - 11:03 #1
Hvilken PHP version bruger du?
Avatar billede bromer Nybegynder
25. november 2005 - 11:04 #2
For den syntax virker kun i PHP5.
Avatar billede exposure Nybegynder
25. november 2005 - 11:08 #3
Det er PHP5
Avatar billede bromer Nybegynder
25. november 2005 - 11:10 #4
Virker det hvis du sætter $this foran? Så det bliver til:


class myClass1
{
    public __construct()
    {    }

    public function myFunc()
    {    }
}

class myClass2
{
    private $myClass;

    public __construct()
    {
        $this->myClass = new Myclass1();
    }

    public function callMyClass1()
    {
        $this->myClass->myfunc();
    }
}
Avatar billede exposure Nybegynder
25. november 2005 - 11:11 #5
ja
Avatar billede bromer Nybegynder
25. november 2005 - 11:12 #6
There you go. Det er fordi PHP ikke fatter at være objektorienteret. Den vil ikke tilgå interne medlemmer med mindre du bruger $this->. Det er meget irriterende..
Avatar billede exposure Nybegynder
25. november 2005 - 11:13 #7
Ja, det er belastende
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