Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: var_dump - komplikace

Aktivity
Avatar
Michael Kufner:25.2.2015 19:15

Ahoj, programuju si FB aplikaci. Setkal jsem se s problémem, který si nedokážu nikde vysvětlit. Mám následující kód:

$token = $session->getAccessToken();
$expiration = $token->getExpiresAt();
var_dump($expiration);
$time = $expiration->date;
echo("<br />");
echo($time);

vše funguje, time se vypíše správně. Problém nastává v okamžiku, kdy umažu řádku s var_dump($expi­ration); jelikož se mi to proměnné time nepřiřadí vůbec nic (zkoušel sem poté i time var_dumpnout a ta proměnná je bez předchozího var_dumpu prázdná).
Struktura pole(objektu) je následující:

object(DateTime)#12 (3) {
  ["date"]=>
  string(26) "2015-04-25 19:39:41.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(3) "UTC"
}

Prosím poraďte mi :) Děkuju

 
Odpovědět
25.2.2015 19:15
Avatar
Odpovídá na Michael Kufner
Uživatel sítě :26.2.2015 9:28

A toto vám nefunguje?

$time = $expiration['date'];
Nahoru Odpovědět
26.2.2015 9:28
Chybami se člověk učí, běžte se učit jinam!
Avatar
shaman
Člen
Avatar
Odpovídá na Michael Kufner
shaman:26.2.2015 12:07

Tento problem je znamy php bug https://bugs.php.net/bug.php?…

Problem je v tom ze date nie je vlastnost DateTime objektu a date by si nemal vobec vidiet, ale z nejakeho neznameho dovodu sa pri print_r a var_dump vytvori. Ak sa snazis pristupit k vlastnosti date pred var_dump-om alebo print_r-om, stylom $expiration->date, tak este neexistuje. Je to zmatocna informacia. :)

Kedze date neexistuje pred vardumpom skus si vypisat tvoj DateTime object takto

$expiration->format('Y-m-d H:i:s');
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
26.2.2015 12:07
try {...} catch (Exception ignored) { echo " ¯\_(ツ)_/¯ "; }
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.