0Pricing
PHP Academy · Ders

Sınıflar, Özellikler ve Metotlar

Özelliklere ve metotlara sahip bir PHP sınıfı tanımlayın.

Sınıflar, Özellikler ve Metotlar, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.

Giriş: PHP Sınıfları

Bir sınıf, nesneler oluşturmak için kullanılan bir taslaktır. Özellikleri (verileri) ve yöntemleri (davranışları) tanımlar. PHP'nin OOP özellikleri, kodu daha modüler, yeniden kullanılabilir ve sürdürülebilir hâle getirir.

Temel Kavramlar

PHP sınıflarının temel kavramları:

  • Tanımlamak için class ClassName {} kullanınız
  • Özellikler verileri saklar, yöntemler davranışı tanımlar
  • new ClassName() ile örnekler oluşturunuz
  • Üyelere -> oku ile erişiniz

Sınıf Tanımlama

Örnek:

<?php
class Car {
    public string $brand;
    public int    $year;
    public float  $price;

    public function describe(): string {
        return "{$this->year} {$this->brand}";
    }
}

$car = new Car();
$car->brand = 'Toyota';
$car->year  = 2022;
$car->price = 25000.0;

echo $car->describe(); // 2022 Toyota

Erişim Belirleyicileri

Devam:

<?php
class BankAccount {
    public  string $owner;
    private float  $balance;
    protected string $currency;

    // public: accessible everywhere
    // private: only within this class
    // protected: this class + subclasses
}

Türlere Sahip Özellikler

Alıştırma:

<?php
class Product {
    public string  $name;
    public float   $price;
    public int     $stock = 0;  // default value
    public bool    $active = true;

    public function inStock(): bool {
        return $this->stock > 0;
    }
}

Örnek Yöntemler

Daha derinlemesine:

<?php
class Counter {
    private int $count = 0;

    public function increment(): void { $this->count++; }
    public function decrement(): void { $this->count--; }
    public function reset(): void    { $this->count = 0; }
    public function value(): int      { return $this->count; }
}

$c = new Counter();
$c->increment();
$c->increment();
echo $c->value();  // 2

Yöntem Zincirleme

İleri kullanım:

<?php
class QueryBuilder {
    private string $table = '';
    private int    $limit = 100;

    public function from(string $t): static { $this->table = $t; return $this; }
    public function limit(int $n): static   { $this->limit = $n; return $this; }
    public function build(): string {
        return "SELECT * FROM {$this->table} LIMIT {$this->limit}";
    }
}

echo (new QueryBuilder())->from('users')->limit(10)->build();

Sınıf Sabitleri

Gerçek dünya kalıbı:

<?php
class HttpStatus {
    const OK        = 200;
    const NOT_FOUND = 404;
    const ERROR     = 500;

    public static function message(int $code): string {
        return match($code) {
            self::OK        => 'OK',
            self::NOT_FOUND => 'Not Found',
            default         => 'Error',
        };
    }
}

echo HttpStatus::message(HttpStatus::NOT_FOUND);  // Not Found

Salt Okunur Özellikler (PHP 8.1)

En iyi uygulamalar:

<?php
class Point {
    public function __construct(
        public readonly float $x,
        public readonly float $y,
    ) {}

    public function distanceTo(Point $other): float {
        return sqrt(($this->x - $other->x) ** 2 + ($this->y - $other->y) ** 2);
    }
}

$p1 = new Point(0, 0);
$p2 = new Point(3, 4);
echo $p1->distanceTo($p2);  // 5

Uygulamalı Kalıp

PHP sınıfları için uygulamalı bir kalıpla her şeyi bir araya getiriniz.

Yaygın Hatalar

PHP sınıflarıyla ilgili şu yaygın hatalardan kaçınınız:

  • Durumu kapsüllemek için erişim belirleyicilerini kullanınız
  • Kısa sınıflar için kurucu özellik tanıtımını tercih ediniz
  • Sabit değerler için sabitleri const ile tanımlayınız
  • Okunabilir API'ler için yöntem zincirleme özelliğini (akıcı arayüz) kullanınız

Hızlı Kontrol

Bir özelliğin yalnızca sınıfın kendisi içinde erişilebilir olmasını sağlayan erişim belirleyicisi hangisidir?

Özet: PHP Sınıfları

PHP sınıflarını ele aldınız. Hatırlanması gereken önemli noktalar:

  • Durumu kapsüllemek için erişim belirleyicilerini kullanınız
  • Kısa sınıflar için kurucu özellik tanıtımını tercih ediniz
  • Sabit değerler için sabitleri const ile tanımlayınız
  • Okunabilir API'ler için yöntem zincirleme özelliğini (akıcı arayüz) kullanınız

Sıkça Sorulan Sorular

“Sınıflar, Özellikler ve Metotlar” dersi ücretsiz mi?

Evet — “Sınıflar, Özellikler ve Metotlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.

“Sınıflar, Özellikler ve Metotlar” dersinde ne öğreneceğim?

Özelliklere ve metotlara sahip bir PHP sınıfı tanımlayın. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Sınıflar, Özellikler ve Metotlar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Sınıflar, Özellikler ve Metotlar
  2. Yapıcılar ve Yıkıcılar
  3. Statik Özellikler ve Metotlar
  4. Sihirli Metotlara Genel Bakış
← PHP Academy Sayfasına Dön