Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 1. 4. 2012, 18:56:12
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 |
#2 · Zasláno: 1. 4. 2012, 19:31:12
Z LoadMenu udělej další metodu, tohle je špatně
public function LoadMenu |
||
Anonymní Profil * |
#3 · Zasláno: 1. 4. 2012, 19:37:27
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 |
#4 · Zasláno: 1. 4. 2012, 19:43:00
$neco->neco je instance třídy, která má metodu neco(). $neco->neco()->necojineho() je tzv. fluent interface.
|
||
Bertram Profil |
#5 · Zasláno: 1. 4. 2012, 19:46:16
Anonymní:
Jde o to, že metody které se řetězí vrací $this, tedy objekt. |
||
Časová prodleva: 12 let
|
0