Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Odstraní se referenční proměnná po vykonání cyklu?

PHP PHP Odstraní se referenční proměnná po vykonání cyklu? American English version English version

Aktivity (1)
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 (Enormyk):20.2.2016 23:31

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

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 20.2.2016 23:31
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
tom.ondrej
Člen
Avatar
Odpovídá na Martin Štěpánek (Enormyk)
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.