Fiber'lar: İşbirlikçi Eşzamanlılık
Eşzamansızlığa benzer düzenler için Fibers ile PHP yürütmesini duraklatın ve sürdürün.
Fiber'lar: İşbirlikçi Eşzamanlılık, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 4. 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.
Fiberler Nedir?
PHP 8.1, yürütmeyi belirli bir noktada duraklatıp daha sonra sürdürerek işbirlikçi çoklu görevi mümkün kılan hafif eş yordamlar olan Fiberler özelliğini kullanıma sundu.
Fiber ve Eşzamansızlık
Fiberler paralel iş parçacıkları değildir; PHP hâlâ tek iş parçacıklıdır. Fiberler, bir yürütme bağlamının denetimi gönüllü olarak başka bir bağlama bırakmasına izin vererek eşzamansızlığa benzer kalıplar sağlar.
Fiber Oluşturma
Kurucusuna çağrılabilir bir işlev geçirerek bir Fiber oluşturun. Siz start() çağrısını yapana kadar fiber başlamaz.
<?php
$fiber = new Fiber(function (): void {
echo "Fiber started\n";
$value = Fiber::suspend("first suspension");
echo "Resumed with: $value\n";
});
Başlatma ve Askıya Alma
start(), ilk Fiber::suspend() çağrısına kadar fiberi çalıştırır. suspend() çağrısına geçirilen değer, start() tarafından döndürülür.
<?php
$suspended = $fiber->start(); // runs until suspend()
echo $suspended; // "first suspension"
Bir Fiberi Sürdürme
resume($value), fiberi askıya alındığı yerden sürdürür. resume() çağrısına geçirilen değer, fiberin içindeki Fiber::suspend() tarafından döndürülür.
<?php
$fiber->resume("hello from main");
// Inside fiber: $value = "hello from main"
// Prints: "Resumed with: hello from main"Eksiksiz Fiber Örneği
Bir fiberin tüm yaşam döngüsü: oluşturma, başlatma, askıya alma, sürdürme, sonlandırma.
<?php
$fiber = new Fiber(function (): string {
$x = Fiber::suspend("paused");
return "Fiber done, received: $x";
});
$msg = $fiber->start(); // "paused"
$fiber->resume("hi!");
echo $fiber->getReturn(); // "Fiber done, received: hi!"Fiber Durumu Yöntemleri
Fiber durumunu denetleyin: isStarted(), isSuspended(), isRunning(), isTerminated().
<?php
var_dump($fiber->isTerminated()); // true after getReturn()Fiberlerde Hata Yönetimi
$fiber->throw(new Exception(...)) ile bir fiberin içine istisna fırlatın. İstisna, fiberin içindeki Fiber::suspend() noktasında ortaya çıkar.
Olay Döngüsü Entegrasyonu
Fiberler, G/Ç geri çağırmaları beklerken askıya alınan ve veri geldiğinde sürdürülen olay döngülerine (ReactPHP, Revolt) güç sağlamak üzere tasarlanmıştır.
Fiberler ve Üreteçler Karşılaştırması
Üreteçler (PHP 5.5+) de yield ile duraklatılabilir; ancak temel olarak tembel yineleme için kullanılır. Fiberler, çift yönlü değer aktarımı ve dönüş değerleri sunan daha genel bir eş yordam mekanizmasıdır.
Pratik Kullanım Alanları
Fiberler; Revolt'ta engellemesiz HTTP istemcilerine, eşzamansız veritabanı sorgularına, işbirlikçi görev zamanlayıcılarına ve çoklu iş parçacığı karmaşıklığı olmadan veri akış işlem hatlarına güç sağlar.
Özet
Fiberler, tek bir PHP yürütme bağlamının duraklatılıp sürdürülmesini sağlayarak işbirlikçi eşzamanlılığı mümkün kılar. Modern PHP eşzamansız çerçevelerinin temelini oluştururlar. Fiber::suspend() denetimi bırakır; resume() denetimi geri alır.
Hızlı Kontrol
Askıya alınmış bir Fiber'a bir değeri nasıl aktarırsınız?
Yapay zeka eğitmeniyle PHP öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 49
- Dersler
- 195
Sıkça Sorulan Sorular
“Fiber'lar: İşbirlikçi Eşzamanlılık” dersi ücretsiz mi?
Evet — “Fiber'lar: İşbirlikçi Eşzamanlılık” 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.
“Fiber'lar: İşbirlikçi Eşzamanlılık” dersinde ne öğreneceğim?
Eşzamansızlığa benzer düzenler için Fibers ile PHP yürütmesini duraklatın ve sürdürü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 4. dersidir.
“Fiber'lar: İşbirlikçi Eşzamanlılık” 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
- Match İfadesi ve Adlandırılmış Bağımsız Değişkenler
- Nullsafe Operatörü ve Birleşim Türleri
- Numaralandırmalar (Enum'lar)
- Fiber'lar: İşbirlikçi Eşzamanlılık