chyba s Laděnkou v kominaci s $s=& new XX
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- pavel123
- Člen | 1
Narazil jsem na zajímavé chování, když jsem se pokusil použít Nette\Debug se starým webem postaveným nad pearem.
U mne to běhalo v pořádku, ale na Otomanu (PHP5.2.5 a bohužel zapnuté register_globals) na mě vyskakovaly chyby podobné této:
Fatal Error
Class 'NDebug' not found
File pear/HTML/QuickForm.php Line: 566
kde na Line 566 je: $elementObject =& new $className();
Po zbavení se toho & se to opakovalo jinde, pak jinde, prostě pear byl nepoužitelný.
Co mne překvapilo:
- hláška že NDebug nenalezen v pěkně naformátované grafice NDebugem :)
- nepovedlo se mi to zaboha nasimulovat, zkoušel jsem i věci jako:
class Testovaci {
public function neco(){
$a="StdClass";
$p=& new $a;
}
}
$t=new Testovaci;
$t->neco();
- naopak chyba nastane třeba i jen při jednoduchém require_once ‚Pager/Sliding.php‘;
Takže se kód ani nemusel vykonávat.
Nějak se tam protlačilo jméno třídy Debug z Nette (stejný problém byl i při použití neprefixové verze). Ani když jsem si u sebe vypl register_globals, nedokázal jsem tohle nasimulovat.
Je to nějakou extrémně pošahanou verzí PHP?