Zend Framework - การจัดการคุกกี้

คุกกี้เป็นแนวคิดที่สำคัญมากในเว็บแอปพลิเคชัน มีตัวเลือกในการเก็บรักษาข้อมูลของผู้ใช้โดยปกติจะเป็นข้อมูลชิ้นเล็ก ๆ ในเบราว์เซอร์ในช่วงเวลาที่ จำกัด

คุกกี้ใช้เพื่อรักษาสถานะของเว็บแอปพลิเคชัน Zend framework มีโมดูลคุกกี้ภายในไฟล์zend-httpส่วนประกอบ. zend-http นี้ให้นามธรรม HTTP และการนำไปใช้งาน

การติดตั้งคอมโพเนนต์ HTTP

ส่วนประกอบ HTTP สามารถติดตั้งได้อย่างง่ายดายโดยใช้ไฟล์ Composer ตามที่ระบุไว้ในรหัสด้านล่าง

composer require zendframework/zend-http

แนวคิด

zend-http จัดเตรียมไฟล์ Zend\Http\Cookiesคลาสในการจัดการคุกกี้ ใช้ร่วมกับZend\Http\Clientคลาสซึ่งใช้ในการส่งคำขอไปยังเว็บเซิร์ฟเวอร์ คุกกี้สามารถเริ่มต้นได้ตามที่แสดงในโค้ดด้านล่าง -

use Zend\Http\Cookies  
$c = new Cookies();

เมื่อไคลเอนต์ HTTP (Zend \ Http \ Client) ส่งคำขอ URI ไปยังเว็บเซิร์ฟเวอร์เป็นครั้งแรกจะไม่มีคุกกี้ใด ๆ เมื่อเว็บเซิร์ฟเวอร์ได้รับคำขอแล้วจะรวมคุกกี้ไว้ในวัตถุตอบสนองเป็นไฟล์HTTP Header, Set-Cookieและส่งไปยังไคลเอนต์ HTTP ไคลเอ็นต์ HTTP จะดึงคุกกี้ออกจากการตอบสนอง http และส่งต่อเป็น HTTP Header เดียวกันในการร้องขอในภายหลัง โดยทั่วไปคุกกี้แต่ละรายการจะถูกจับคู่กับโดเมนและเส้นทางของโดเมน

วิธีการที่มีอยู่ใน Cookies ชั้นเรียนมีดังนี้ -

  • addCookie(uri) - ใช้เพื่อเพิ่มคุกกี้ลงในออบเจ็กต์คำขอของ URI ที่กำหนด

  • getCookie(cookieName, $cookieForm) - ใช้เพื่อรับคุกกี้ $ cookieName ที่มีอยู่ใน URI ที่กำหนด $uri. อาร์กิวเมนต์ที่สามคือวิธีที่จะส่งคืนคุกกี้ไม่ว่าจะเป็นสตริงหรืออาร์เรย์

  • fromResponse(uri) - ใช้เพื่อแยกคุกกี้ออกจากวัตถุตอบสนองของ URI ที่กำหนด

  • addCookiesFromResponse - เหมือนกับ fromResponse แต่จะแยกและเพิ่มอีกครั้งในออบเจ็กต์คำขอของ URI ที่กำหนด

  • isEmpty() - ใช้เพื่อค้นหาว่า Cookie วัตถุมีคุกกี้หรือไม่

  • reset() - ใช้เพื่อล้างคุกกี้ทั้งหมดใน URI ที่กำหนด

ในบทถัดไปเราจะพูดถึงการจัดการเซสชันใน Zend Framework