Php Nesne Yönelimli Programlama Giriş etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Php Nesne Yönelimli Programlama Giriş etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

14 Ocak 2025

Php Static Kullanımı

static anahtar kelimesi, PHP'de sınıfa bağlı özellikler (properties) ve metotlar (methods) tanımlamak için kullanılır. Bu özellik ve metotlara bir nesne oluşturmadan doğrudan sınıf üzerinden erişilebilir.

Normalde bir sınıftaki özellik veya metoda erişmek için bir nesne oluşturman gerekir. Ancak static kullanıldığında, o özellik veya metot sınıfa bağlı hale gelir ve nesne oluşturmadan kullanılabilir.


Static Özellik ve Metotlar

  • Static Özellikler: Sınıfa özgüdür ve tüm nesneler için ortak bir değer taşır.
  • Static Metotlar: Bir nesne yerine sınıf üzerinden çalıştırılır. Static metotlar içinde $this kullanılamaz, çünkü $this bir nesneyi temsil eder.

Static Kullanımına Örnek

<?php class Matematik { // Static bir özellik (tüm sınıflar için ortak) public static $pi = 3.14159; // Static bir metot public static function alanHesapla($yaricap) { return self::$pi * $yaricap * $yaricap; } } // Nesne oluşturmadan static özelliğe erişim echo Matematik::$pi; // Çıktı: 3.14159 // Nesne oluşturmadan static metoda erişim echo Matematik::alanHesapla(5); // Çıktı: 78.53975 ?>

Önemli Notlar:

  1. Static özelliklere ve metotlara self:: veya ClassName:: kullanarak erişilir.
  2. Static özellik ve metotlar nesneye değil, doğrudan sınıfa bağlıdır.
  3. self:: → Sınıf içinden static özelliğe/metoda erişim için kullanılır.
  4. ClassName:: → Sınıf dışından static özelliğe/metoda erişim için kullanılır.

Static Özelliklerin Durumunu Değiştirme

Static özellikler, sınıfa özgü olduğu için her nesnede aynı değeri taşır. Örneğin:

<?php class Sayaç { public static $sayi = 0; public static function arttir() { self::$sayi++; } } // Static özelliği güncelleme ve okuma Sayaç::arttir(); Sayaç::arttir(); echo Sayaç::$sayi; // Çıktı: 2 ?>

Static ile Diğer Özelliklerin Farkı

Eğer static kullanmazsan, her nesne için özellikler farklı olur. Static ise ortak bir özellik/metot sağlar.


Static ve Late Static Binding

Eğer bir sınıftan türeyen sınıflarda static metodun sınıfa özgü davranmasını istersen, static:: kullanmalısın. Örneğin:

<?php class A { public static function kimimBen() { return static::class; // Late Static Binding } } class B extends A { } echo A::kimimBen(); // Çıktı: A echo B::kimimBen(); // Çıktı: B ?>

Php Nesne Yönelimli Programlama Giriş Erişilebilirlik

 <?php


/*
Erişilebilirlik

public
Her yerden erişilebilir.

private
Sadece sınıf içerisinden erişilebilir.

protected
Dışarıdan erişilmez.
Sınıf içinde erişilebilir.
Miras alma yoluyla kullanılabilir.

*/

class User{
public $email;
private $name;
protected $surname;


public function getEmail()
{
return $this->email;
}


public function setEmail($email): void
{
$this->email = $email;
}

public function getSurname()
{
return $this->surname;
}

public function setSurname($surname): void
{
$this->surname = $surname;
}

public function getName()
{
return $this->name;
}

public function setName($name): void
{
$this->name = $name;
}


}

$User = new User();

$User->setName("Mustafa");
$User->setSurname("Yilmaz");
$User->setEmail("email@deneme.com");

echo $User->getEmail();
echo "<br>";
echo $User->getName();
echo "<br>";
echo $User->getSurname();

?>

Php Nesne Yönelimli Programlama Giriş

Nesne Yönelimli Programlama (OOP), PHP'de yazılım geliştirirken kodunu daha düzenli ve tekrar kullanılabilir hale getirmenin güçlü bir yoludur. OOP'yi anlamak, daha büyük projelerde çok işine yarayacak.

OOP'nin temel kavramlarını tanıyalım: Sınıflar (Classes), Nesneler (Objects), Özellikler (Properties), Metotlar (Methods), ve Erişim Belirleyiciler (Access Modifiers).

Basit bir OOP Örneği

Aşağıdaki örnek, OOP'ye giriş için temel bir sınıf ve nesne kullanımını gösterir:

<?php

// 1. Bir sınıf tanımlıyoruz
class Araba {
    // Özellikler (properties)
    public $renk; // Arabanın rengi
    public $marka; // Arabanın markası

    // Constructor (Yapıcı Metot): Nesne oluşturulurken çalışır
    public function __construct($renk, $marka) {
        $this->renk = $renk;  // $this-> özelliğe erişir
        $this->marka = $marka;
    }

    // Metot (Method): Arabanın bilgisini döndüren bir işlev
    public function bilgiGoster() {
        return "Bu araba bir {$this->renk} {$this->marka}.";
    }
}

// 2. Sınıftan bir nesne oluşturuyoruz
$benimArabam = new Araba("kırmızı", "Toyota");

// 3. Nesne üzerinden metoda erişiyoruz
echo $benimArabam->bilgiGoster(); // Çıktı: Bu araba bir kırmızı Toyota.

?>