Php Fonksiyondan Sınıf Yapısına Geçiş
-
selam arkadaşlar kullandığım scripti fonksiyonlar kullanarak yapmıştım ama şuan artık sınıf yapısına geçirmem gerekiyor ancak algılayamadığım şeyler var aşağıdaki kodu buraya koyayım neden çalışmadığını bana izah ederseniz ufakdan anlarım gibime geliyor :)
veri tabanında preferences tablosunda title 'ın karşılığı site başlığı ekrana site başlığı yazdırmak istiyorum şuan ancak sıkıntı var hatada alamıyorum.
<?php class main { public $db; function __construct() { $host = 'localhost'; $dbname = 'test'; $dbuser = 'root'; $dbpassword = ''; $dsn = 'mysql:host=localhost;dbname='.$dbname.';charset=utf8'; try { $db = new PDO($dsn,$dbuser,$dbpassword); } catch(PDOException $e) { print $e->getMessage(); } } function preferences($pref) { $query = $this->$db->query("SELECT * FROM preferences WHERE options = '{$pref}'")->fetch(PDO::FETCH_ASSOC); $result = $query['show']; return $result; } } $main = new main(); $title = $main->preferences('title'); print $title;
-
php'de hatalar kapalıymış suan soyle bir hata veriyor sanırım yazdığım sytnax yanlış çünkü sınıf yapısı nasıl yazılır bilmiyorum
Call to a member function query() on a non-object in C:\wamp\www\test.php on line 10
Realist tarafından 23/Ağu/14 15:48 tarihinde düzenlenmiştir -
Hocam __construct fonksiyonundaki atama local görünüyor
$db
=
new
PDO(
$dsn
,
$dbuser
,
$dbpassword
);
Yukarıdaki yerine;
$this->db =
new
PDO(
$dsn
,
$dbuser
,
$dbpassword
);
deneyip sonucu yazabilirmisin?
Kolay gelsin
-
aercys bunu yazdı
Hocam __construct fonksiyonundaki atama local görünüyor
$db
=
new
PDO(
$dsn
,
$dbuser
,
$dbpassword
);
Yukarıdaki yerine;
$this->db =
new
PDO(
$dsn
,
$dbuser
,
$dbpassword
);
deneyip sonucu yazabilirmisin?
Kolay gelsin
teşekkür ederim hallettim :)
ayrıca class yapısını öğrenebileceğim bir kaynak tavsiye edermisiniz?
Realist tarafından 23/Ağu/14 18:23 tarihinde düzenlenmiştir -
Rica ederim hocam,
Hocam php.net'ten faydalanabilirsin. Her fonksiyonun altında mutlaka örnek kod oluyor tabi bununla ilgili kullanıcı yorumları da mevcut. Dolayısı ile diğer kullanıcıların tecrübelerinden de faydalanma imkanın olabiliyor. Mesela;
http://php.net/manual/en/language.oop5.php