IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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: Odstraní se referenční proměnná po vykonání cyklu?

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
tom.ondrej
Člen
Avatar
tom.ondrej:20.2.2016 14:56

Dobrý den,
potřeboval bych poradit ohledně toho, zda-li se referenční proměnná (objekt), pokud jí vytvářím při každém průchody cyklem, po každém průchodu odstraní (jako klasická proměnná int, string, atp.) nebo zůstává v paměti (a zatěžuje tak server). Pokud zůstává, tak jestli třeba není nějaká metoda object_destroy nebo něco podobného (nebo ji smaže garbage collector?)

public function vypisPrispevkyLimit($metoda, $id, $spodni_limit, $vrchni_limit){
        $this::$spojeniDB->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);
        $dotaz = $this::$spojeniDB->prepare('SELECT prispevky.id, prispevky.nadpis, prispevky.text, prispevky.datum_vlozeni, uzivatele.jmeno, uzivatele.prijmeni, uzivatele.prezdivka FROM prispevky JOIN uzivatele ON prispevky.id_uzivatele = uzivatele.id WHERE prispevky.id_uzivatele=? AND prispevky.rozpracovany=1 ORDER BY prispevky.datum_vlozeni DESC LIMIT ?, ?');
        $dotaz->bindParam(1, $id, PDO::PARAM_STR);
        $dotaz->bindParam(2, $spodni_limit, PDO::PARAM_INT);
        $dotaz->bindParam(3, $vrchni_limit, PDO::PARAM_INT);
        $vysledek = $dotaz->execute();
        if($vysledek){
            $pole = $dotaz->fetchAll(PDO::FETCH_ASSOC);
            $i=0;
            while($i < count($pole)){
                $datum = new DateTime($pole[$i]['datum_vlozeni']);
                echo "<div class='prispevek' id='{$pole[$i]['id']}'><h2>{$pole[$i]['nadpis']}</h2><hr><p>{$pole[$i]['text']}</p><hr><div class='obal_info'><div style='float: left'>{$pole[$i]['jmeno']} {$pole[$i]['prijmeni']} ({$pole[$i]['prezdivka']})</div><div style='float: right'>{$datum->format('d.m.Y (H:i:s)')}</div></div></div>";
                $i++;
            }
        }
    }

To je kód kde to používám.

Editováno 20.2.2016 14:59
Odpovědět
20.2.2016 14:56
Talk is cheap. Show me the code --- Linus Torvalds
Avatar
Martin Štěpánek :20.2.2016 23:31

Měla by se ničit stejně ne? :-)

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
20.2.2016 23:31
Všechno jde naprogramovat, chce to jen čas a chuť...
Avatar
tom.ondrej
Člen
Avatar
Odpovídá na Martin Štěpánek
tom.ondrej:22.2.2016 19:58

Asi jo, jen jsem se chtěl zeptat, jestli tím třeba nějak nezatížím server, když budu x krát za sebou v cyklu vytvářet objekty a pracovat s nimi.
Každopádně díky za odpověď :)

Nahoru Odpovědět
22.2.2016 19:58
Talk is cheap. Show me the code --- Linus Torvalds
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.