v2.5.2
Giriş yap

sınıf içinde extends edilmiş sınıfın fonksiyonuna değer atama

hasaneryilmaz
622 defa görüntülendi

define("HOST", $host);
define("DBNAME", $dbname);
define("UNAME", $dbuser);
define("PASSWD", $dbpass);
define("CHARSET", $dbcharset);

class HasDB extends PDO
{
    public function __construct()
    {
        try {
            parent::__construct("mysql:host=" . HOST . ";dbname=" . DBNAME, UNAME, PASSWD);
            $this->query('SET CHARACTER SET ' . CHARSET);
            $this->query('SET NAMES ' . CHARSET);
            $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $this->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
        } catch (PDOException $error) {
            $error->getMessage();
        }
    }

}

bu şekilde bir sınıf tanımladım.

kullanırken


$vt = new HasDB();

$vt->query("SELECT * FROM tabloadi")->fetch(PDO::FETCH_ASSOC);

şeklinde kullanıyorum diyelim sondaki fetch(PDO::FETCH_ASSOC) fonksiyonuna ben
result(); yazdığımda erişmek istiyorum.

yani



$vt = new HasDB();


//bunun yerine
$vt->query("SELECT * FROM tabloadi")->fetch(PDO::FETCH_ASSOC);

//böyle kullanmak istiyorum


$vt->query("SELECT * FROM tabloadi")->result();


bunu nasıl yapabilirim.?

sınıfın içine


public function result()
{
    return $this->fetch(PDO::FETCH_ASSOC);
}

şeklinde yaptım hata aldım.

makifgokce
1478 gün önce

buradaki işine yarayacaktır.