Php 8 Class
PHP 8'de sınıflar (classes), nesne yönelimli programlamanın temel yapı taşlarını oluşturur. Sınıflar, veri (özellikler) ve davranış (metotlar) tanımlamak için kullanılır. Bu yazıda sınıfların nasıl oluşturulacağı, özellikler ve metotlar ile nasıl kullanılacağı hakkında bilgi vereceğim.
1. Sınıf Tanımlama
Bir sınıf tanımlamak için class anahtar kelimesi kullanılır. Aşağıda basit bir sınıf tanımlama örneği bulunmaktadır:
class Car { // Özellikler public $color; public $model; // Metot public function drive( ) { return "The car is driving."; } } 2. Özellikler
Sınıf içindeki değişkenlere özellik denir. Özellikler genellikle sınıfın durumunu tutar ve erişim belirleyicileri (public, protected, private) ile tanımlanır.
- Public: Her yerden erişilebilir.
- Protected: Sadece sınıf ve alt sınıflar tarafından erişilebilir.
- Private: Sadece sınıf içinde erişilebilir.
Örnek:
class Person { public $name; // Her yerden erişilebilir protected $age; // Sadece bu sınıf ve alt sınıflar tarafından erişilebilir private $ssn; // Sadece bu sınıf içinde erişilebilir public function __construct( $name, $age, $ssn ) { $this->name = $name; $this->age = $age; $this->ssn = $ssn; } } 3. Metotlar
Sınıf içindeki fonksiyonlara metot denir. Metotlar, sınıfın özellikleri üzerinde işlem yapar veya belirli bir davranışı tanımlar.
Örnek:
class Calculator { public function add( $a, $b ) { return $a + $b; } public function subtract( $a, $b ) { return $a - $b; } } $calc = new Calculator(); echo $calc->add(5, 3); // 8 echo $calc->subtract(5, 3); // 2 4. Sınıfın Nesnesini Oluşturma
Sınıf tanımlandıktan sonra, bu sınıftan nesne (object) oluşturulabilir. Nesne oluşturmak için new anahtar kelimesi kullanılır.
Örnek:
$myCar = new Car(); $myCar->color = "red"; $myCar->model = "Toyota"; echo $myCar->drive(); // "The car is driving." 5. Yapıcı ve Yıkıcı Metotlar
Yapıcı Metot (Constructor)
Yapıcı metot, bir sınıfın nesnesi oluşturulduğunda otomatik olarak çağrılır. Genellikle özellikleri başlatmak için kullanılır. PHP’de yapıcı metot __construct() ile tanımlanır.
Örnek:
class Dog { public $name; public function __construct( $name ) { $this->name = $name; } public function bark( ) { return "Woof! My name is " . $this->name; } } $myDog = new Dog("Buddy"); echo $myDog->bark(); // "Woof! My name is Buddy" Yıkıcı Metot (Destructor)
Yıkıcı metot, bir nesne yok edildiğinde otomatik olarak çağrılır. Genellikle bellek yönetimi veya kapanış işlemleri için kullanılır. PHP’de yıkıcı metot __destruct() ile tanımlanır.
Örnek:
class Resource { public function __destruct( ) { echo "Resource is being destroyed."; } } $resource = new Resource(); // $resource nesnesi yok edildiğinde "Resource is being destroyed." mesajı yazdırılacak. 6. Kalıtım
Kalıtım, bir sınıfın başka bir sınıftan özellik ve metotları miras almasına olanak tanır. Bu, kodun yeniden kullanılabilirliğini artırır.
Örnek:
class Animal { public function makeSound( ) { return "Some sound"; } } class Cat extends Animal { public function makeSound( ) { return "Meow"; } } $myCat = new Cat(); echo $myCat->makeSound(); // "Meow" 7. Statik Özellikler ve Metotlar
Statik özellikler ve metotlar, bir sınıfın nesnesine ihtiyaç duymadan erişilebilen özellikler ve metotlardır. Statik özellikler ve metotlar static anahtar kelimesi ile tanımlanır.
Örnek:
class Math { public static function square( $number ) { return $number * $number; } } echo Math::square(4); // 16 8. PHP 8 ile Yeni Özellikler
PHP 8, sınıflarla ilgili bazı yeni özellikler sunar:
- Constructor Property Promotion: Özelliklerin tanımlanmasını ve atanmasını daha kısa hale getirir.
class User { public function __construct( public string $name, public int $age ) {} } $user = new User("Alice", 30); - Union Types: Bir metot veya özellik birden fazla türde değer alabilir.
function example( int|string $value ): void { echo $value; } - Attributes: Sınıf ve metotlara meta veriler ekler.
#[Route("/user/{id}")] class UserController { // ... } Sonuç
PHP 8'de sınıflar, nesne yönelimli programlamanın temel unsurlarıdır. Sınıflar, nesneleri tanımlamak, veri ve davranışları bir arada tutmak için kullanılır. Bu yapı, kodun daha modüler, okunabilir ve bakımını kolaylaştıran bir şekilde organize edilmesine olanak tanır. OOP ile yazılmış kodlar genellikle daha az hata içerir ve esnek bir yapıya sahiptir, bu da modern yazılım geliştirmede önemli bir avantajdır.
Bu ders size yardımcı oldu mu? Puan verin!
Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.
Sıkça Sorulan Sorular (SSS)
Bu ders ve konuyla ilgili en çok merak edilenler
Php 8 Class dersini öğrenmek için ön koşul var mı?
Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.
Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?
Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.
Takıldığım bir yerde nereden soru sorabilirim?
Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.
Topluluk Yorumları (0)
Ders Hakkında Yorum Yap veya Soru Sor
Henüz yorum yapılmamış. İlk yorumu siz yazın!