İşlem Akışı
Process Başlatma İşlem Akışı
php start.php start komutu çalıştırıldıktan sonra işlem akışı aşağıdaki gibidir:
- Konfigürasyon altındaki config/ klasöründen yapılandırmalar yüklenir.
- Worker ile ilgili yapılandırmalar,
pid_file
,stdout_file
,log_file
,max_package_size
vb. ayarlanır. - webman işlemi oluşturulur ve (varsayılan olarak 8787 numaralı) bir bağlantı noktasında dinlenmeye başlar.
- Yapılandırmalara göre özel işlemler oluşturulur.
- webman işlemi ve özel işlemler başlatıldıktan sonra aşağıdaki mantık çalıştırılır (hepsi onWorkerStart içinde çalıştırılır):
①config/autoload.php
içinde belirtilen dosyalar yüklenir, örneğinapp/functions.php
.
②config/middleware.php
(içerisindeconfig/plugin/*/*/middleware.php
gibi) içinde belirtilen orta yazılımlar yüklenir.
③config/bootstrap.php
(içerisindeconfig/plugin/*/*/bootstrap.php
gibi) içinde belirtilen sınıfların başlat metodu çalıştırılır; bu, modülleri başlatmak için kullanılır, örneğin Laravel veritabanı bağlantısının başlatılması.
④config/route.php
(içerisindeconfig/plugin/*/*/route.php
gibi) içinde tanımlanan yönlendirmeler yüklenir.
İstek İşleme Akışı
- İstek URL'sinin public klasöründeki statik dosyalara karşılık gelip gelmediği kontrol edilir; eğer öyleyse dosya döndürülür (isteği sonlandırılır), değilse adıma 2'ye geçilir.
- URL'ye göre belirli bir yönlendirmenin eşleşip eşleşmediği kontrol edilir; eğer eşleşme olmazsa adıma 3'e geçilir, eşleşme olursa adıma 4'e geçilir.
- Varsayılan yönlendirmenin kapatılıp kapatılmadığı kontrol edilir; eğer kapatılmışsa 404 hatası döndürülür (isteği sonlandırılır), kapatılmamışsa adıma 4'e geçilir.
- İstek için belirli bir denetleyiciye karşılık gelen orta yazılım bulunur, sırayla orta yazılımın ön işlemleri çalıştırılır (soğan modeli istek aşaması), denetleyici iş mantığı çalıştırılır, orta yazılımın son işlemleri çalıştırılır (soğan modeli yanıt aşaması), istek sona erdirilir. (Bkz. Middleware Onion Model)