Diğer Çerçevelerle Entegrasyon

Soru:

Diğer mvc çerçeveleri (thinkPHP, Yii vb.) ile nasıl entegrasyon sağlanır?

Cevap:

workerman-thinkphp

Diğer mvc çerçeveleri ile entegrasyon önerisi, yukarıdaki şekilde (ThinkPHP örnek alınarak) gerçekleştirilmelidir:

  1. 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.

  2. ThinkPHP, HTTP protokolü aracılığıyla web sayfalarını tarayıcıda görüntülemek üzere sunar.

  3. ThinkPHP tarafından sağlanan sayfanın js'i, Workerman'a bağlanmak için bir websocket bağlantısı başlatır.

  4. 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.

  5. Yalnızca ThinkPHP, tarayıcıya veri göndermesi gerektiğinde Workerman'ın socket arayüzünü kullanarak veri gönderimi yapılır.

  6. 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.