sysuser
PREMİUM
- Katılım
- 9 Kas 2025
- Mesajlar
- 174
- Tepki puanı
- 4
- Cinsiyet
- Kadın
PHP'de Fiber: Eşzamansız Kodu Senkron Tarzda Yazmak
PHP 8.1 ile dile eklenen Fiber sınıfı, stackful coroutine desteği getirir. Generator'lardan farklı olarak call stack'in herhangi bir noktasında duraklatılabilir.
Basit Fiber Örneği
PHP:
$fiber = new Fiber(function(): void {
$value = Fiber::suspend('ilk değer');
echo "Fiber içinde alınan: " . $value . "
";
});
$yielded = $fiber->start();
echo "Fiber dışında: " . $yielded . "
";
$fiber->resume('dışarıdan gönderilen');
Nerede Kullanılır?
- ReactPHP ve Amp gibi event loop kütüphaneleri artık Fiber üzerine inşa ediliyor
- Eşzamanlı HTTP isteklerini callback karmaşası olmadan yazmak mümkün oluyor
- Test ortamlarında zamanlama bağımlı senaryoları simüle etmek kolaylaşıyor
Fiber, PHP'yi tam anlamıyla async dil haline getirmez. Tek thread çalışır; event loop'un Fiber'ları sırayla yönetmesi gerekir. Ancak callback cehenneminden kurtulup okunabilir async kod yazmak için yeterince güçlüdür.