Autor Zpráva
AM_
Profil
Zdravím,
call_user_func_array('parent::__construct()', func_get_args());

Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'MyClass' does not have a method '__construct()'

Nadřazená třída, po které dědím, konstruktor samozřejmě definovaný má. Chtěl bych se zeptat, jak jej tedy mohu zavolat? Jde mi o to, že konstruktor nemá předem známý počet parametrů, a já bych je tak jak jsou chtěl předat mateřskému konstruktoru.
nightfish
Profil
možná pomůže poslední řádek z Example #1 ze stránky o typu callback
AM_
Profil
Aha, jsem to ale trubka :) Manuál jsem prohlížel, ale samozřejmě, problém byly ty závorky za __construct, ty tam nemají co dělat. To je tak když člověk píše bezmyšlenkovitě. Díky za radu, nakoplo mě to k tomu si toho všimnout.
Majkl578
Profil
Mělo by fungovat i toto:
call_user_func_array(array('parent', '__construct'), func_get_args());
call_user_func_array(array($this, 'parent::__construct'), func_get_args());
PetrBohm
Profil
Zdravím

na stránkách mě to píše:
Warning: Parameter 3 to modChrome_artblock() expected to be a reference, value given in /home/www/rybaricl.cz/subdomains/www/templates/rybari06_25_vanocni/html/modules.php on line 36


kopie řádku 36:

call_user_func($styles[$style], $module, $params, $attribs);

poradí mi někdo co je špatně?
Keeehi
Profil
Jak vypadá funkce modChrome_artblock?
Podle chybové hlášky to vypadá, že jako třetí parametr očekává proměnnou předanou referencí a ne jen hodnotou. Ovšem to call_user_func neumí. Respektive ve verzi 5.3 to bylo označené jako zastaralé. Nejlépe by bylo upravit funkci modChrome_artblock aby nevyžadovala referenci.

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:

0