Funkce na naplneni PHP objektu z databaze rubrika: Programování: PHP

5 kacerr
položil/-a 11.4.2014

Prave jsem napsal neco takovyhleho. Budu mit par tabulek v databazi, par objektu, nic slozityho, nepotrebuju resit ze by mne nekdo chtel nejak hackovat atd ....
Chtel jsem se zeptat jestli je neco spatnyho na ty funkci fillFromRow?

Nejsem si uplne jistej tim: $this->$key = $value;

Ale to mi prave dost usnadnuje zivot. Vitam jakykoliv konstruktivni komentare.

<?php 
namespace V2;
class Login {
    public $id, $email, $password_hash, $first_name, $last_name, $role;
 
    static function getLogin(array $filter, \PDO $db) {
        $sQuery = "SELECT * FROM `logins` .........
        ....
        ....
        ....";
        $oStmt = $db->prepare($sQuery);
        if ($oStmt && $oStmt->execute()) {
            $row = $oStmt->fetch(\PDO::FETCH_ASSOC);
            $oLogin = new Login();
            $oLogin->fillFromRow($row);
            return $oLogin;
        }     
 
        return null;
    }
 
    function fillFromRow($row) {
        foreach ($row as $key => $value) {
            $this->$key = $value;  
        }
    }
}
odkaz
5 podhy
odpověděl/-a 11.4.2014

když už používáte PDO mrkněte na nastavení fetch_style na PDO::FETCH_CLASS což by vám mělo automaticky při získání dat z DB naplnit proměnné třídy

Komentáře

  • kacerr : Jo, to je asi fakt, ze by mi to usetrilo ty tri radky ... zrovna ty na ktery jsem se ptal ... a nejspis to bude delat presne to samy. 11.4.2014

Pro zobrazení všech 7 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.