Zajímavý výpis z Laděnky, netýká se přímo Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
tr.
Člen | 79
+
0
-

Ahoj, poraďte mi prosím, asi mám vlčí mlhu, ale tohle mi hlásí debugger:

http://quick-markup.com/p/505decb27c4ec

Jak může být pole null, když jsem z něj o řádek výše načetl hodnotu. BTW při kontrolním výpisu na řádce 11 je opravdu v this->text hodnota z pole.

Děkuji za případné probuzení.

Grelek
Člen | 233
+
0
-

Pokud vidím dobře, definuješ private $align a nastavuješ na NULL. Před podmínkou ale hodnotu nikde neměníš…

iguana007
Člen | 970
+
0
-

co vratí dump $datasource?

pekelnik
Člen | 462
+
0
-

@Grelek mas pravdu – avsak s problemem to nijak nesouvisi ;)

tr.
Člen | 79
+
0
-

Tak vyreseno,
prekouknul jsem se, ono se to konstruuje trikrat a napotreti s promennou null. Takze pole je opravdu null, jak hlasi debugger. Nicmene pes je zakopany v tom, ze ocividne PHP necha zavolat tyhle tri radky:

$datasource = null;
echo $datasource['text'];
echo array_key_exists("text", $datasource); //chyba zde

A chybou je az ten treti :)

PHP je hodne nebezpecny jazyk.

Diky a ahoj

pekelnik
Člen | 462
+
0
-

to se mi moc nezda… chtel bych videt ladenku s dumpnutym polem pred obema zminenymi radky…

jansfabik
Člen | 193
+
0
-

tr.: Máš zapnutý striktní mód? S ním by tohle už zařvat mělo.

use Nette\Diagnostics\Debugger;

Debugger::$strictMode = TRUE;

Případně přes config.neon:

nette:
	debugger:
		strictMode: TRUE

Editoval jansfabik (26. 9. 2012 19:44)

pekelnik
Člen | 462
+
0
-

tak to je ulet…

<?php
$datasource = null;
echo $datasource['text'];
echo array_key_exists("text", $datasource);
$ php test.php

PHP Warning: array_key_exists() expects parameter 2 to be array, null given in…/test.php on line 4

PHP 5.4.6

pekelnik
Člen | 462
+
0
-

@jansfabik strict mode s tim nic nesvede… PHP proste nevyhodi ani Notice… COOL

Ascaria
Člen | 187
+
0
-

No je to asi mimo mísu, ale zrovna u tohodle může eventuelně pomoct:

public function __construct(Array $datasource)
jansfabik
Člen | 193
+
0
-

pekelnik: to je snad i na bug report