วิธีการรวมกับเฟรมเวิร์กอื่น

คำถาม:

วิธีการรวมกับเฟรมเวิร์ก MVC อื่น (เช่น thinkPHP, Yii เป็นต้น) อย่างไร?

คำตอบ:

workerman-thinkphp

การรวมกับเฟรมเวิร์ก MVC อื่น ๆ แนะนำ ตามวิธีในภาพด้านบน (ใช้ ThinkPHP เป็นตัวอย่าง):

  1. ThinkPHP กับ Workerman เป็นสองระบบที่แยกจากกัน ทำการติดตั้งแยกกัน (สามารถติดตั้งบนเซิร์ฟเวอร์ที่แตกต่างกัน) และไม่ส่งผลกระทบต่อกัน

  2. ThinkPHP ให้บริการหน้าเว็บไซต์ผ่านโปรโตคอล HTTP เพื่อแสดงผลในเบราว์เซอร์

  3. JavaScript ที่ให้บริการโดย ThinkPHP จะเริ่มต้นการเชื่อมต่อ WebSocket กับ Workerman

  4. หลังจากเชื่อมต่อแล้วจะส่งแพ็กเก็ตข้อมูลไปยัง Workerman (รวมถึงชื่อผู้ใช้ รหัสผ่าน หรือโทเค็นบางประเภท) เพื่อการตรวจสอบว่า WebSocket นั้นเป็นของผู้ใช้ใด

  5. จะเรียกใช้อินเตอร์เฟซ socket ของ Workerman เพื่อส่งข้อมูลเฉพาะเมื่อ ThinkPHP ต้องการส่งข้อมูลไปยังเบราว์เซอร์

  6. การร้องขออื่น ๆ ยังคงเรียกใช้งานในรูปแบบ HTTP เดิมของ ThinkPHP

สรุป:

ใช้ Workerman เป็นช่องทางในการส่งข้อมูลไปยังเบราว์เซอร์ และเรียกใช้ Workerman อินเตอร์เฟซเมื่อจำเป็นต้องส่งข้อมูลไปยังเบราว์เซอร์เท่านั้น ส่วนตรรกะทางธุรกิจทั้งหมดจะดำเนินการใน ThinkPHP

การเรียกใช้อินเตอร์เฟซ socket ของ Workerman ใน ThinkPHP เพื่อส่งข้อมูลสามารถดูได้จาก ดูคำถามที่พบบ่อย - การส่งในโครงการอื่น

ThinkPHP ได้สนับสนุน Workerman แล้ว ดูรายละเอียดได้ที่ คู่มือ ThinkPHP5