Trait, Interface, Abstract ve Final Kullanımı
Trait'lerin doğru kullanımı, çoklu kalıtım sorunları, interface ile sözleşme tasarımı, abstract sınıfların rolü ve final anahtar kelimesi ile API sabitleme stratejileri. Kompozisyon vs kalıtım kararları.
Trait ve interface örneği
<?php
trait LoggerTrait {
public function log(string $msg): void { echo "[" . date('c') . "] $msg\n"; }
}
interface ServiceInterface { public function handle(): void; }
final class MyService implements ServiceInterface {
use LoggerTrait;
public function handle(): void { $this->log('Handled'); }
}
?>