| Autor | Zpráva | ||
|---|---|---|---|
| Tomáš Jindra Profil * |
#1 · Zasláno: 15. 10. 2013, 17:30:53
Ahoj, prosím o radu, mám class a potřebuji v konstruktoru volat následující metody pomocí nějakého cyklu
$this->Method1($pdo); $this->Method2($pdo, $dis); $this->Method3(); $this->Method4($filter); $this->Method5(); Vůbec netuším jak dostat příkazy do for, foreach a podobně. Poradí prosím někdo zkušený? Děkuji |
||
| Tori Profil |
#2 · Zasláno: 15. 10. 2013, 18:56:33
Ty metody se doufám nejmenují takhle, s indexy? Když každá chce jiné parametry, tak by IMHO jakýkoli automatizovaný způsob byl značně nečitelný - nechala bych to pro přehlednost takhle. Ale možná někdo jiný vymyslí něco použitelného.
|
||
| Kcko Profil |
takhle nějak?
public function loop()
{
$list = array(
'test1' => array('A'), // metoda test1 s 1 argumentem
'test2' => array('A', 'B') // metoda test2 , ma 2 argumenty
);
foreach ($list as $k => $v)
{
call_user_func_array(array($this, $k), $v);
}
} |
||
| Tomáš Jindra Profil * |
#4 · Zasláno: 17. 10. 2013, 11:15:20
Ano, diky moc
|
||
| Joker Profil |
#5 · Zasláno: 17. 10. 2013, 11:43:10
Tomáš Jindra:
Dotaz, není to jen přepracování jednoduché sekvence příkazů do delšího a nepřehlednějšího kódu? Proč to nemůže být prostě sekvence? |
||
| Kcko Profil |
#6 · Zasláno: 17. 10. 2013, 12:45:00
Joker:
Může být a nemusí. Já takhle na svém jednom webu volám moduly, na jednotlivých podstránkách (v pravém / levém sloupci webu), které jsou jsou volány statickými metodami zapoudřujícího objektu, který poté volá skutečné třídy a přislušné metody na vykreslení. Zde to mám bez argumentů (protože je nepotřebuji, ale dají se tam jednodušše dopsat). A přijde mi to jako celkem jednoduchý a přehledný způsob. $boxes = array(
'bilance',
'hallOfFame',
'shoutBoard',
'whosOnline',
'tipovackaSmallTable',
//'PhotoOnHomepage',
//'VideoOnHomepage',
'RSS',
);
foreach ($boxes as $module)
{
CommonModules::load($module);
} |
||
|
Časová prodleva: 12 let
|
|||
0