Konular

EBooklar

New, ::, __construct, __autoload kullanımları

Class YapılarıBasit bir class yapısı
 
<?php

class Klasımız
{
    var $KlasDegiskeni='naber';
       
    function KlasFonksiyonu()
    {
        if (isset($this)) {
//$this kelmesi (Klasımız) demektir.
            echo '$this kelmesi ('.get_class($this).') demektir.';
        } else {
            echo "$this kelimesi bilinemiyor.n";
        }              
   }
}

$Tureyen=new Klasımız();

echo $Tureyen->KlasDegiskeni; //naber yazar

echo $Tureyen->KlasFonksiyonu(); //$this kelmesi (Klasımız) demektir.

?>
 
 
:: operatörü Sınıfın statik ya da sabit olarak tanımlanan üyelerine erişim sağlar, Herhangi bir obje oluşturulmadan sınıfın elemanına erişim sağlar. PHPde bir classin methoduna static olarak erisirken kullanılan karakterlerdir.
   
<?php

class Klasımız
{
    var $KlasDegiskeni='naber';
       
    function KlasFonksiyonu()
    {
        if (isset($this)) {
            echo '$this kelmesi ('.get_class($this).') demektir.';
        } else {
            echo "$this kelimesi bilinemiyor.n";
        }              
   }
}

$Tureyen=new Klasımız();

echo $Tureyen->KlasDegiskeni; //naber yazar

echo $Tureyen->KlasFonksiyonu(); //$this kelmesi (Klasımız) demektir.

Klasımız::KlasFonksiyonu(); //$this kelimesi bilinemiyor.

?>
 

  :: operatörü 
klası oluşturmadan klas içerisindeki değerlere erişmek için kullanılır. Bu klas içerisindeki bir değere veya fonksiyona erişmek için klas tanımlamamızı ortadan kaldırır. Bu sayede bellekte sadece bir değişkene erişmek için kullanılan bir class yer işgal etmez.

<?php

    class
BenimKlas {
        const SABIT_DEGER = 'A constant value';
    }

    echo BenimKlas::SABIT_DEGER;
?>


<?php
class BaskaKlas extends BenimKlas
{
    public static $sabit_deger = 'static var';

    public static function ciftKolon() {
        echo parent::SABIT_DEGER . "n";
        echo self::$sabit_deger . "n";
    }
}

BaskaKlas::ciftKolon();
?>
 
 
  parent, self ve Scope Resolution Oparatörünün kullanımına örnek
 
<?php

class BenimKlas
{
    public static $SabitBirDeger = 'Sabit Değerim';
}

class BaskaBirKlas extends BenimKlas
{
    public $SabitDeger = 'Sabit Değer';

        public static $SabitStatikDeger = 'Sabit Değer';
       
    public static function CiftKolon() {
        echo parent::$SabitBirDeger . "<br />"; //sadece static değerlere erişebiliyoruz.
        echo self::$SabitStatikDeger . "<br />"; // static değerlere erişmek için $ kullanılır
    }
}

BaskaBirKlas::CiftKolon();

?>
 
 
 
<?php

class OzelYazdir {
       
        static function MerhabaDunya()
        {
                print "Merhaba, Dünya";
                self::YeniSatirYaz();
                print "Naber";
        }
       
        static function YeniSatirYaz()
        {
        print "<br/>";
        }
}

OzelYazdir::MerhabaDunya();

/*
$OzelYazdir=new OzelYazdir();
$OzelYazdir->MerhabaDunya();
*/

?>
 
class yapılarında __construct veya class la aynı isimde fonksiyon kullanımı sonucu class tanımlandığında otomatik ve ilk çalışan fonksiyon belrilenmiş olur.
   
<?php

class BasitKlas
{
       
    public $Degisken = 'Merhaba Dünya';

    public function EkranaYaz(){
        echo "$this->Degisken";
    }
       
        function __construct(){ //class tanımlandığında otomatik ve ilk çalışan fonksiyon
                echo 'Yaşasın Oluşturuldum';
        }
       
        function BasitKlas(){ //class tanımlandığında otomatik ve ilk çalışan fonksiyon _construct değil ama classla aynı isimde
                echo 'Yaşasın Oluşturuldum';
        }
}

$Turemis=new BasitKlas();

echo $Turemis->EkranaYaz();
?>
 
 
  class yapılarında __destruct kullanımı sonucu class yok edildiğinde çalışan fonksiyon belrilenmiş olur.

<?php
class BenimKlas
{
    var $Degisken;
       
        //function BenimKlas(){ Bu yazım __construct ile aynı
        function __construct($GelenSayi){ //class tanımlandığında otomatik ve ilk çalışan fonksiyon
                $this->Degisken=$GelenSayi;
                $this->EkranaYaz();
        }
       
    public function EkranaYaz(){
        echo "$this->Degisken";
    }
       
    function __destruct(){ //class yok edildiğinde otomatik çalışan fonksiyon
        echo "Benim Klas Silindi";
    }
}

$Turemis=new BenimKlas(5); //Oluştulur oluşturulmaz Ekrana 5 yazar.

//$Turemis=NULL; //Turemis Klasını yok edince destruct çalışıyor
unset($Turemis); //Turemis Klasını yok edince destruct çalışıyor
?>
 
 
__autoload fonksiyonu


<?php //klass.php

class BenimKlasim{
        var $i=0;
   
    function BenimKlasim(){
        echo "naber";
    }
}

?>

 
<?php //test.php

function __autoload("$class_name") { // sayfada tanımlanan bir klass varsa __autoload çalışır.
    require_once "$class_name";
}

$obj  = new BenimKlasim();

?>
 
 

Yorumunuzu Ekleyin





  • Kurallı İfadeler (regex Engine)
  • Kurallı İfadeler (regex Engine) ~ 31,347

    Bir regex'in gerçekte nasıl çalıştığını bilmek daha efektif çalışan regex ifadeleri oluşturmamızı ve regex'leri daha isabetli oluşturmamızı sağlar. Bu yazımızda oluşturduğunuz regex ifadelerinin neden beklediğiniz sonuçları vermediğini ve umduğunuz eşleşm...



  • PHP ile PDF dosya oluşturmak
  • PHP ile PDF dosya oluşturmak ~ 24,911

    Php ile yeni bir pdf dosyası oluşturmak : Öncelikle php ile pdf işlemleri yapmak için bir pdf kütüphanesine ihtiyacınız olacak



  • PHP nedir?
  • PHP nedir? ~ 23,382

    HTML kodlarının arasına yerleştirilmiş php kodlarından ayrıştırıp işleyerek sonuçta saf HTML formatında bir çıktı üretmek ve Web sunucusuna iletmektir.


  • $_FILES
  • $_FILES ~ 22,194

    Örnek kod ve açıklamalar



  • Oop - Nesne Yönelimli Programlama
  • Oop - Nesne Yönelimli Programlama ~ 19,318

    Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne kadar. Bu makale de onlardan biri


  • Xampp Kurulumu ~ 18,438

    Xampp apache, mysql, php ve phpmyadmin için kolay ve basit kurulum sağlayan bir uygulamadır.



  • Php İle Excel Dosyası Oluşturmak
  • Php İle Excel Dosyası Oluşturmak ~ 17,657

    Genelde, herhangi bir biçimlendirme söz konusu olmadığında, veritabanındaki bir bilgiyi ya da başka bir tabloyu excel ortamına aktarmak için csv yöntemini kullanırım. Bu yöntem herkesin bildiği gibi, her sütunu tab ya da noktalı virgül gibi bir karakterle...


  • Verileri doğrulamak için PHP ile filtreleme işlemleri
  • Verileri doğrulamak için PHP ile filtreleme işlemleri ~ 17,390

    Ziyaretçilerden gelen verilerin istediğimiz formata uygunluğunu kontrol etmeliyiz ki, güvenlik açığı yaratmayalım. E-postaları, web adreslerini, bilgi girişlerini ve dahasını Her birine uygun farklı fonksiyonlar yazıldı bu vakte kadar. Ancak PHP 5.2.0 ve ...


  • En iyi 25 php template motoru
  • En iyi 25 php template motoru ~ 16,810

    Php tabanlı web siteleri dizayn ederken, php kodlarını html kodlar arasına gömeriz. Fakat gün gelir bu kodları düzenlemek istediğimizde çok büyük bir çaba gerektirir. Bu tarz durumlarla başa çıkabilmek için ve daha kararlı bir sistem kodlamak için t...


  • Php ile Oturum Yönetimi (SESSION)
  • Php ile Oturum Yönetimi (SESSION) ~ 16,556

    Türkçesi oturum anlamına gelen session bilgilerin saklanması için kullanılan mantıksal bir nesnedir.Session oturum yönetimini kullanarak şifreli sayfalar oluşturarak ve bu sayfaları belirlediğiniz kullanıcıların görmesini sağlayabilirsiniz.


  • Php Mysql to XML
  • Php Mysql to XML ~ 16,551

    Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.



  • Dizi Tanımlamaları
  • Dizi Tanımlamaları ~ 16,468

    PHP’de array tanımlayıcısını kullanarak içerisinde elemanları yerleştirmek yoluyla ya da index numarasını köşeli parantezler içerisinde belirterek atama yaparak dizi oluşturmak mümkündür



  • $_SERVER
  • $_SERVER ~ 16,175

    $_SERVER host bilgileri, header bilgileri, yollar ve script yolları gibi bilgileri içeren bir dizidir. Bu dizideki değerler web server tarafından üretilir. Tüm server yazılımlarının, tüm değerleri atayacağına dair bir kesinlik yoktur. Yazılım bazıl...