PHP
Proje sonu - Kütüphane
Tüm parçaları birleştirip kütüphaneyi çalışan bir modül haline getirirsin.
Kütüphaneyi tamamlama
Son derste kütüphaneyi tamamlayacaksın. Sınıfa bir all() metodu ekle: içindeki $this->items dizisini döndürür. Böylece dışarıdan öğelere güvenli şekilde ulaşılır.
Sonra tüm parçaları birleştir: sınıfı dosyaya yaz, require_once ile dahil et, zincirlemeyle öğe ekle ve implode ile tüm öğeleri tek satırda yazdır. Bu, çalışan bir kütüphane modülüdür.
all() metodu ile öğelere erişim
Property'yi public yapmak dışarıdan doğrudan değişime açıktır. Daha güvenli yol, bir all() metodu yazıp öğelerin bir kopyasını döndürmektir: public function all(): array { return $this->items; }.
Bu metodu implode ile birleştirerek tüm öğeleri tek satırda yazdırabilirsin: echo implode(", ", $c->all());. Böylece koleksiyon hem güvenli hem de kullanışlıdır.
Uygulama all() metodunu ekle ve kütüphaneyi kullan
Sınıfın içine (yani $classCode dizesine) public function all(): array { return $this->items; } metodunu ekle. Dosyayı file_put_contents ile yaz, require_once ile dahil et. Sonra $c = new Collection(["elma"]); ile başla, $c->add("armut")->add("kiraz"); ile zincirle ve echo implode(", ", $c->all()); ile tüm öğeleri virgülle yazdır.
Örnek çözümü göster
array { return $this->items; } ekle. require_once ile dahil et. new Collection(["elma"]) ile başla, $c->add("armut")->add("kiraz"); ile zincirle, echo implode(", ", $c->all()); ile yazdır.
Örnek çözüm:
<?php
// Kütüphaneyi tamamla: all() metodunu ekle ve tüm özellikleri kullan
$classCode = '<?php
class Collection {
public array $items = [];
public function __construct(array $initial = []) {
$this->items = $initial;
}
public function add(string $item) {
$this->items[] = $item;
return $this;
}
public function all(): array {
return $this->items;
}
}';
$classFile = __DIR__ . "/Collection.php";
file_put_contents($classFile, $classCode);
require_once $classFile;
$c = new Collection(["elma"]);
$c->add("armut")->add("kiraz");
echo implode(", ", $c->all());
Proje tamamlandı
Tebrikler! Yardımcı kütüphane projesini tamamladın. Beş ders boyunca bir Collection sınıfı tasarladın: property, yapıcı metot, ekleme ve arama metotları, zincirleme ve dosya dahil etme.
Artık bu sınıfı herhangi bir projede kullanabilirsin: sınıfı Collection.php dosyasına koy, require_once __DIR__ . "/Collection.php"; ile dahil et ve new Collection() ile kullan. Bu, gerçek PHP projelerinde tekrar kullanılabilir kod organize etmenin temel yoludur.
Kendini test et
-
Bir kütüphane modülünü projeler arası nasıl paylaşırsın?
- Sınıfı ayrı dosyaya koyup require_once ile dahil ederim
- Sınıfı her dosyaya kopyala-yapıştır yaparım
- Sınıfı tek bir uzun dosyada tutarım
- Sınıfı sadece bir kez yazıp kullanmam
Cevabı göster
Sınıfı ayrı dosyaya koyup require_once ile dahil ederim — Doğru. Sınıfı ayrı dosyaya koyup require_once ile dahil etmek, tekrar kullanımı ve bakımı kolaylaştırır.
-
Kütüphane kavramlarını eşleştir
- Collection
- Öğeleri tutan sınıf
- all()
- Öğeleri döndürür
- require_once
- Sınıfı dosyadan dahil eder
- implode
- Öğeleri birleştirir
-
all() metodu items döndürsün
public function all(): array {
return ____
}
Cevabı göster
public function all(): array {
return $this->items;
}
Sıradaki ders: public erişim