Debugger::enable a pole IP-ciek ako parameter

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
vvoody
Člen | 910
+
0
-
//toto funguje
Nette\Diagnostics\Debugger::enable('192.168.1.9, 192.168.1.10');

//toto uz nie
Nette\Diagnostics\Debugger::enable(array('192.168.1.9','192.168.1.10'));

ked si dumpnem $mode v Nette\Diagnostics\Debugger::enable()

...
$mode = is_string($mode) ? preg_split('#[,\s]+#', $mode) : array($mode);
dump($mode);
$mode[] = '127.0.0.1';
$mode[] = '::1';
self::$productionMode = !in_array(isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : php_uname('n'), $mode, TRUE);
...

v prvom pripade

array(2) [
   0 => "192.168.1.9" (11)
   1 => "192.168.1.10" (12)
]

a v druhom

array(1) [
   0 => array(2) [
      0 => "192.168.1.9" (11)
      1 => "192.168.1.10" (12)
   ]
]

Cize ked pretypujeme pole na pole tak ho obali do noveho pola? wtf?

Mozne riesenie?

$mode = is_string($mode) ? preg_split('#[,\s]+#', $mode) : is_array($mode) ? $mode : array();
22
Člen | 1478
+
0
-

<ot>Proč se tu používá preg_split místo rychlejšího explode?</ot>

OK3
Člen | 91
+
0
-

No asi proto, že za čárkou může být ještě mezera, víc mezer…? :)

Jan Tvrdík
Nette guru | 2595
+
0
-

omg, toto je dávno opravené. Stáhni si poslední stable verzi.