İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

fonksiyon içerisinde class kullanımı

raptor

0
İyinet Üyesi
Katılım
7 Ekim 2006
Mesajlar
853
Reaction score
0
merhaba fonksiyon içerisinde class nasıl kullanabiliriz.
mysql class dosyam hazır ve yeni class oluşturup başlıyorum işleme.

PHP:
 function kategoriler() {
  $db->connect();
  $veri = $db->cek("select * from kategoriler", $i);
for($k = 0 ; $k < $i ; $k++) {
echo 'echolonacak deger';
}
$db->close();
}
nasıl yapabilirim. fonksiyona başlarken global diyip tanıtmamız vs mi lazım.
 

raptor

0
İyinet Üyesi
Katılım
7 Ekim 2006
Mesajlar
853
Reaction score
0
teşekkürler sorunumu çözdüm.(eksik bir bölüm yazılmış):)
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
Var tabi olmaz mı. Mesela son zamanlarda bu sekilde çok kod görüyorum, neden böyle yazıyorsunuz onu anlamıyorum: $db->connect(); .. yani bu "->" olayının sırrı nedir?
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
PHP 5 ile class destegi teknoloji standardina getirildi.
http://us2.php.net/class
Kullanimi yayginlasti.
Ama sen-ben gibi pek cok kisi halen duz kodlama yapiyoruz, ben de class olayina isinamadim henuz...
 

raptor

0
İyinet Üyesi
Katılım
7 Ekim 2006
Mesajlar
853
Reaction score
0
örneğin bu bir veritabanı nesnesi bağlantı açmak, kapamak, sorgu çalıştırmak, hata logları tutmak, mysql çalışması sırasında bir sorun meydana gelirse onu loglamak için kullanılıyor.

PHP:
/* 
  Veritabanı Nesnesi 
  ----------------------- 
  Dosya: [INC]veritabani.php 
  Yazan: Pan <[email protected]> 
  Tarih: 13 Temmuz 2004 
  İşlev: Çok fonksiyonlu veritabanı nesnesi. 
*/ 

### Veritabanı değişkenleri ve ayarları ### 
$vt['alan'] = 'localhost';     // Veritabanının çalıştığı alan 
$vt['yonetici'] = 'root';     // Veritabanı yöneticisinin kullanıcı adı 
$vt['yonetici_sifre'] = '';     // Veritabanı yöneticisinin şifresi 
$vt['kullan_vt'] = 'deneme';     // Kullanılacak veritabanı adı 
$vt['hata_log'] = '../loglar/vt_hata.log';     // Hata kayıtlarının tutulacağı dosya 
$vt['islem_log'] = '../loglar/vt_islem.log';     // Veritabanına yapılan sorguların tutulacağı dosya 
$sql['varsayilan_satir'] = 0;     // Sorgudan tek satır çekilirken, satır belirtilmezse, varsayılan olarak kullanılacak satır numarası 
$sql['varsayilan_sutun'] = 'id';     // Yukarıdakinin, numara değilde, sütun olan hali 

### Veritabanı Nesnesi ### 
class Veritabani { 
    # Nesne Değişkenleri # 
    var $vt_baglanti;     // Veritabanı bağlantısı yapıldıktan sonra, bağlantı numarası bu değişkene atanır 
    var $vt_secim;     // Veritabanı seçimi yapıldıktan sonra, dönen değer buraya atanır 
    var $tarih;     // Nesne çağrıldığı andaki tarihi tutar 
    var $dosya;     // Şuanda üzerinde çalışılan dosya yolu ve ismini tutar 
    var $sonsorgu;     // Son yapılan SQL sorgusunu tutar 
    # Nesne Fonksiyonları # 
    function Veritabani() {     // Nesne çağrıldığında dosya ile ilgili belirlemeleri yapar 
        $this->tarih = date('d/m/Y H:i'); 
        $this->dosya = __FILE__; 
    } 
    function vt_baglan() {     // Veritabanı bağlantısı sağlar ve kullanılacak veritabanını seçer 
        global $vt; 
        if (!$vt['baglanti'] = @mysql_connect($vt['alan'], $vt['yonetici'], $vt['yonetici_sifre'])) { 
            $this->vt_hata(mysql_errno(), mysql_error()); 
        } 
        if (!$vt['secim'] = @mysql_select_db($vt['kullan_vt'])) { 
            $this->vt_hata(mysql_errno(), mysql_error()); 
        } 
        $this->vt_baglanti = $vt['baglanti']; 
        $this->vt_secim = $vt['secim']; 
        return $this->vt_baglanti; 
    } 
    function vt_kapat() { 
        if (!$kapat = @mysql_close($this->vt_baglanti)) { 
            $this->vt_hata(mysql_errno(), mysql_error()); 
        } 
        return $kapat; 
    } 
    function vt_hata($hatano, $hata) {     // Veritabanı hata raporu tutar ve bunları dosyada saklar 
        global $vt; 
        $hata_mesaj = "Hata Tarihi: <".$this->tarih.">\r\nHatalı Dosya: <".$this->dosya.">\r\nHata No: <$hatano>\r\nHata: <$hata>\r\n--------------------------------------------\r\n"; 
        $hatalog_dt = @fopen($vt['hata_log'], 'a+'); 
        if ($hatalog_kaydet = @fputs($hatalog_dt, $hata_mesaj)) { 
            $donen_deger = 1; 
        } else { 
            $donen_deger = 0; 
        } 
        @fclose($hatalog_dt); 
        $mesaj_goster = '<h1>Veritabanı Hatası</h1> 
        <p>Üzgünüz, servislerimizde bir veritabanı hatası oluştu, hata site yöneticisine bildirildi.<br /> 
        Lütfen siteye, daha sonra tekrar geliniz, teşekkür ederiz.</p>'; 
        die($mesaj_goster); 
        return $donen_deger; 
    } 
    function vt_log($sorgu_cumle, $sorgu) {     // Veritabanına yapılan sorguların raporunu tutar 
        global $vt; 
        $log_kayit = "İşlem Tarihi: <".$this->tarih.">\r\nİşlem Yapılan Dosya: <".$this->dosya.">\r\nSorgu Cümlesi: <$sorgu_cumle>\r\nSorgudan Dönen Değer: <$sorgu>\r\n--------------------------------------------\r\n"; 
        $log_dt = @fopen($vt['islem_log'], 'a+'); 
        if ($log_kaydet = @fputs($log_dt, $log_kayit)) { 
            $donen_deger = 1; 
        } else { 
            $donen_deger = 0; 
        } 
        @fclose($log_dt); 
        return $donen_deger; 
    } 
    function vt_hafiza($sorgu = '') {      // Sorgudan dönen veri varsa, bunlar için hafıza ayrılır, nu fonksiyon o hafizayı boşaltır 
        if ($sorgu == '') { 
            $sorgu = $this->sonsorgu; 
        } 
        if (!$temizle = @mysql_free_result($sorgu)) { 
            $this->vt_hata(mysql_errno(), mysql_error()); 
        } 
        $this->sonsorgu = lisanssız; 
        return $temizle; 
    } 
    function sql_sorgu($sorgu_cumle) {     // Veritabanına, SQL sorgusu gönderir 
        if(!$sorgu = @mysql_query($sorgu_cumle)) { 
            $this->vt_hata(mysql_errno(), mysql_error()); 
        } 
        $this->vt_log($sorgu_cumle, $sorgu); 
        $this->sonsorgu = $sorgu; 
        return $sorgu; 
    } 
    function sql_satircek($sorgu = '', $satir = '', $sutun = '') {     // Yapılan sorgudan dönen değeri tek satır olarak alır (bkz: mysql_result()) 
        global $sql; 
        if ($sorgu == '') $sorgu = $this->sonsorgu; 
        if ($satir == '') $satir = $sql['varsayilan_satir']; 
        if ($sutun == '') $sutun = $sql['varsayilan_sutun']; 
        if (!$satircek = @mysql_result($sorgu, $satir, $sutun)) { 
            $this->vt_hata(mysql_errno(), mysql_error()); 
        } 
        return $satircek; 
    } 
    function sql_toplamkayit($sorgu = '') {     // Bir sorgudan dönen toplam kayıt sayısını verir 
        if ($sorgu == '') $sorgu = $this->sonsorgu; 
        if (!$toplamkayit = @mysql_num_rows($sorgu)) { 
            vt_hata(mysql_errno(), mysql_error()); 
        } 
        return $toplamkayit; 
    } 
}

bunu sayfa include edip $raptor = new Veritabani; diye classımızı açıyoruz.
veritabanına bağlanmak için $raptor->vt_baglan(); yazmak yeterli oluyor.
veya sorgu için
$raptor->sql_sorgu("select * from veriler"); gibi denmesi yeterli oluyor. bildiğim kadarıyla anlatmaya çalıştım :)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst