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: 11 let
|
0