Dosya dahil etme ile kullanma
Sınıfı ayrı dosyaya taşıyıp include ile başka sayfada kullanırsın.
Sınıfı ayrı dosyaya taşıma
Bir sınıfı her projede tekrar kullanmak istiyorsan onu kendi dosyasına taşımak en iyisidir: Collection.php. Böylece sınıf tanımı kullanıldığı yerden ayrılır, kod düzenli kalır.
Bu derste sınıf kodunu bir değişkene yükleyip file_put_contents ile dosyaya yazacaksın, sonra require_once ile dahil edip kullanacaksın. Bu, gerçek projelerde sınıf dosyasını elle oluşturmana karşılık gelir.
__DIR__ ile güvenli yol
Bir dosyayı dahil ederken göreli yol yazmak risklidir; betik farklı dizinden çalışınca yol bozulur. __DIR__ sihirli sabiti, dosyanın bulunduğu dizinin mutlak yolunu verir.
__DIR__ . "/Collection.php" yazdığında yol, hangi dizinden çalıştırırsan çalıştır her zaman doğru kalır. Sınıfı yazmak için file_put_contents, okumak için require_once kullanırsın.
Uygulama Sınıfı dosyaya yaz ve require_once ile kullan
$classFile = __DIR__ . "/Collection.php"; ile dosya yolunu kur. file_put_contents($classFile, $classCode); ile sınıf kodunu dosyaya yaz. require_once $classFile; ile dahil et. Sonra $c = new Collection(["elma"]); ile başla, $c->add("armut")->add("kiraz"); ile zincirle ve echo count($c->items); ile sayıyı yazdır.
Örnek çözümü göster
$classFile = __DIR__ . "/Collection.php"; ata. file_put_contents($classFile, $classCode); yaz. require_once $classFile; ekle. new Collection(["elma"]) ile başla, $c->add("armut")->add("kiraz"); ile zincirle.
Örnek çözüm:
<?php
// Collection sınıfını ayrı dosyaya yaz, require_once ile dahil et
$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;
}
}';
$classFile = __DIR__ . "/Collection.php";
file_put_contents($classFile, $classCode);
require_once $classFile;
$c = new Collection(["elma"]);
$c->add("armut")->add("kiraz");
echo count($c->items);
Kendini test et
-
Sınıf dosyasını güvenle dahil etmek için en uygun deyim?
- include
- include_once
- require
- require_once
Cevabı göster
require_once — Doğru. require_once sınıf dosyasını bir kez dahil eder; dosya yoksa ölümcül hata verir, çift tanımı da engeller.
-
require_once ile Collection.php'yi dahil et
require_once ____;Cevabı göster
require_once __DIR__ . "/Collection.php"; -
Dosya dahil etme kavramlarını eşleştir
- require_once
- Bir kez dahil, yoksa ölümcül hata
- require
- Her seferde dahil, yoksa ölümcül hata
- include
- Uyarı verir, betik devam eder
- __DIR__
- Dosyanın bulunduğu dizin