Autor Zpráva
Anonymní
Profil *
Ahoj, prosím vás, jde nějak zavolat funkce, která je umístěná v funkce, která je v třídě? Např.
class MyClass{
    public function MyFce(){
        function LoadMenu(){
            echo "Menu...";
        }
    }
}

$MyClass = new MyClass;

$MyClass->MyFce()->LoadMenu(); // 1. test // nejde
$MyClass->MyFce->LoadMenu(); // 2. test // nejde
$MyClass->MyFce()::LoadMenu(); // 3. test // nejde
$MyClass->MyFce::LoadMenu(); // 4. test // nejde

V nějakých skriptech, jsem viděl, že nějak podobně (nevím, jestli to samé) něco volali.
neco->neco->neco()

Díky za rychlou odpověď
Lamicz
Profil
Z LoadMenu udělej další metodu, tohle je špatně
public function LoadMenu
Anonymní
Profil *
Lamicz:
Takže to takto zavolat nejde? Jen sem chtěl vyzkoušet, zda by to tak šlo.

Smím se tedy zeptat, jak se volá funkce, ve které je více šipek (neco->neco->neco())?

Děkuji.
Lamicz
Profil
$neco->neco je instance třídy, která má metodu neco(). $neco->neco()->necojineho() je tzv. fluent interface.
Bertram
Profil
Anonymní:
Jde o to, že metody které se řetězí vrací $this, tedy objekt.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: