Controler, DataGrid a ArrayAccess interface – final?

- marek.dusek
- Člen | 99
Zdravim,
muzu jen dotaz, proc se ve tride Control metody interfacu ArrayAccess v revizich nahodne finaluji, aby nebohy programator (pouzivajici vzdy latest build) ohybal DataGrid? :-)
Diky za info.
PS OpenSource je svine ;)
PS2 Presenter.php, php 5.3, revize 432, radek 968 – Eclipse/Galileo mi hlasi syntaktickou chybu, tusi nekdo proc? Jakoby cekal za „$defaultAction“ zavorky „()“ (to parser umlci)

- romansklenar
- Člen | 655
Vývoj Nette neovlivním, ale DataGrid jsem v SVN upravil, tak to s touto úpravou fungoval.

- Jan Tvrdík
- Nette guru | 2595
marek.dusek napsal(a):
Zdravim,
muzu jen dotaz, proc se ve tride Control metody interfacu ArrayAccess v revizich nahodne finaluji
Proč myslíš, že se náhodně finalizují? Od té doby, co se podpora pro
ArrayAccess do třídy Control přidala, tak byly
final. Akorát kvůli DataGridu byly na krátkou dobu nefinal, než
se DataGrid upravil.

- marek.dusek
- Člen | 99
Ha, tak jiny problem – pri listovani libovolnou tabulkou na me vyskoci:
Warning: call_user_func_array() expects parameter 2 to be array, null given in DataGridRenderer.php on line 140
Viz radek 140:
return call_user_func_array(array($this, 'render' . $mode), NULL);
To je tam nejak nove, nebo je to zmena chovani php? (mam 5.3.0 stable)

- romansklenar
- Člen | 655
PHP 5.3 není podporovaná (rozumněj DataGrid jsem pod ní
netestoval).
Když ale změníš druhý parametr z NULL na array()
tak by to IMHO fungovat mělo.

- marek.dusek
- Člen | 99
Jasne, jen to hlasim, aby se vedelo – je to docela pakarna, protoze ackoli se to tvari jako warning, volani se neprovede.
Ono cela ta 5.3 je pouzitelna tak napul – napr. pro namespacy neni jeste poradna podpora v IDE – Galileo jakoze umi, ale neumi ;)

- mancze
- Člen | 58
romansklenar napsal(a):
PHP 5.3 není podporovaná (rozumněj
DataGridjsem pod ní netestoval).
Když ale změníš druhý parametr zNULLnaarray()tak by to IMHO fungovat mělo.
Já běhám na 5.3 a zatím jsem na nic nenarazil (krom toho, co právě zmiňujete a ano, chybu to opraví ;). Ale nepoužívám verzi z SVN, ale ta co je v extras, přesněji:
@version $Id: DataGrid.php 18 2009-05-20 22:41:25Z