Diğer Çerçevelerle Entegrasyon
Soru:
Diğer mvc çerçeveleri (thinkPHP, Yii vb.) ile nasıl entegrasyon sağlanır?
Cevap:

Diğer mvc çerçeveleri ile entegrasyon önerisi, yukarıdaki şekilde (ThinkPHP örnek alınarak) gerçekleştirilmelidir:
-
ThinkPHP ve Workerman iki bağımsız sistemdir, bağımsız bir şekilde dağıtılır (farklı sunucularda dağıtılabilir), birbiriyle etkileşime geçmezler.
-
ThinkPHP, HTTP protokolü aracılığıyla web sayfalarını tarayıcıda görüntülemek üzere sunar.
-
ThinkPHP tarafından sağlanan sayfanın js'i, Workerman'a bağlanmak için bir websocket bağlantısı başlatır.
-
Bağlantıdan sonra Workerman'a bir veri paketi gönderilir (kullanıcı adı, şifre veya bir tür token dizisi içeren) ve websocket bağlantısının hangi kullanıcıya ait olduğunu doğrulamak için kullanılır.
-
Yalnızca ThinkPHP, tarayıcıya veri göndermesi gerektiğinde Workerman'ın socket arayüzünü kullanarak veri gönderimi yapılır.
-
Diğer istekler ise, ThinkPHP'nin normal HTTP işleyişine göre işlenir.
Özet:
Workerman'ı yalnızca tarayıcıya veri gönderebilen bir kanal olarak düşünün; sadece tarayıcıya veri göndermesi gerektiğinde Workerman arayüzünü arayın. Tüm iş mantığı ThinkPHP içinde tamamlanır.
ThinkPHP'nin Workerman socket arayüzünü veri göndermek için nasıl çağıracağına dair bilgi için sıkça sorulan sorular - diğer projelerde veri göndermeye bakın bölümüne başvurabilirsiniz.
ThinkPHP resmi olarak Workerman'ı desteklemektedir, detaylar için ThinkPHP5 kılavuzuna bakın.