| 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 // nejdeV 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: 14 let
|
|||
0