İşlem Akışı

Süreç Başlatma Akışı

php start.php start komutu çalıştırıldıktan sonra işlem akışı aşağıdaki gibidir:

  1. config/ altındaki yapılandırma dosyalarını yükleyin
  2. pid_file, stdout_file, log_file, max_package_size gibi Worker ile ilgili yapılandırmaları ayarlayın
  3. webman sürecini oluşturun ve portu dinleyin (varsayılan 8787)
  4. Yapılandırmaya göre özel süreçler oluşturun
  5. webman süreci ve özel süreçler başlatıldıktan sonra aşağıdaki mantığı uygulayın (aşağıdakilerin hepsi onWorkerStart içinde çalıştırılır):
    config/autoload.php içinde ayarlanan dosyaları yükleyin, örneğin app/functions.php
    config/middleware.php (ve config/plugin/*/*/middleware.php) içinde ayarlanan ara yazılımları yükleyin
    config/bootstrap.php (ve config/plugin/*/*/bootstrap.php) içinde ayarlanan sınıfların start yöntemini çalıştırın, bazı modülleri başlatmak için; örneğin Laravel veritabanı başlangıç bağlantısı
    config/route.php (ve config/plugin/*/*/route.php) içinde tanımlanan yönlendirmeleri yükleyin

İsteği İşleme Akışı

  1. İstek URL'sinin public altındaki statik dosyalara karşılık gelip gelmediğini kontrol edin, eğer karşılık geliyorsa dosyayı döndürün (isteği sonlandırın), gelmiyorsa 2. maddeye geçin
  2. URL'ye göre belirli bir yönlendirmeyi vurup vurmadığını kontrol edin, vurmadıysa 3. maddeye, vurduysa 4. maddeye geçin
  3. Varsayılan yönlendirme kapalı mı, eğer kapalıysa 404 döndürün (isteği sonlandırın), değilse 4. maddeye geçin
  4. İstekle eşleşen denetleyici ara yazılımlarını bulun, ara yazılım ön işlemlerini sırayla uygulayın (soğan modeli istek aşaması), denetleyici iş mantığını uygulayın, ara yazılım son işlemlerini uygulayın (soğan modeli yanıt aşaması), istek sonlandırılır. (bkz. Ara Yazılımlar Soğan Modeli)