ข้ามไปยังเนื้อหา

Request

คลาสสำหรับจัดการคำร้องขอที่ส่งมาจาก Browser เช่น $_POST $_GET

\Somtum\Request

คลาสนี้ทำหน้าที่ในการรับค่าตัวแปรที่ส่งมาจาก Server

  • initSession() ฟังก์ชั่นสำหรับเริ่มต้นการใช้งาน session และ coolie
  • isAjax() ฟังก์ชั่นตรวจสอบว่าเป็นการเรียกมาจาก Ajax หรือไม่ ถ้าใช่คืนค่า true
  • isReferer() ฟังก์ชั่นสำหรับตรวจสอบว่าเป็นการเรียกมาจากไซต์ของตัวเองหรือไม่ เช่นการตรวจสอบการรับค่า Submit จากฟอร์ม ว่ามีการโพสต์มาจากเว็บไซต์ตัวเองหรือเปล่า คืนค่า true ถ้าเป็นการโพสต์มาจากเว็บไซต์ตัวเอง
  • get($key, $default) คืนค่าที่อ่านได้จากตัวแปร $_GET[$key] ถ้าไม่ได้ส่งค่ามาจะคืนค่าจาก $default หรือหากไม่ได้กำหนด $default ไว้จะคืนค่า null
  • post($key, $default) คืนค่าที่อ่านได้จากตัวแปร $_POST[$key] ถ้าไม่ได้ส่งค่ามาจะคืนค่าจาก $default หรือหากไม่ได้กำหนด $default ไว้จะคืนค่า null
  • request($key, $default) คืนค่าที่อ่านได้จากตัวแปร $_POST[$key] และ $_GET[$key] ตามลำดับ แล้วแต่ว่าจะพบตัวแปรใดก่อน หากไม่พบทั้งสองตัวจะคืนค่าจาก $default หรือหากไม่ได้กำหนด $default ไว้จะคืนค่า null
  • server($name, $default) คืนค่าที่อ่านได้จากตัวแปร $_SERVER[$name] ถ้าไม่ได้ส่งค่ามาจะคืนค่าจาก $default หรือหากไม่ได้กำหนด $default ไว้จะคืนค่า null
  • getParsedBody() คืนค่าจาก $_POST
  • getQueryParams() คืนค่าจาก $_GET
  • withParsedBody($data) กำหนดค่า $_POST คืนค่าเป็น Object ใหม่
  • withQueryParams($query) กำหนดค่า $_GET คืนค่าเป็น Object ใหม่

คลาสนี้จะถูกส่งเป็นพารามิเตอร์ให้กับคลาสที่ถูกเรียกตรงๆจาก URL เช่น defaultController สามารถอ่านค่าพารามิเตอร์ที่ส่งมาได้ และยังมีตัวแปร self::$request สำหรับเก็บ Request ที่ส่งมาจาก Server ตั้งแต่ตอนเริ่มต้นด้วย (Request ที่ self::$request จะสามารถเรียกใช้ได้เฉพาะคลาสที่สืบทอดมาจาก \Somtum\Base เท่านั้น และค่าจากตัวแปรนี้ อาจจะไม่เหมือนที่รับมาจากพารามิเตอร์ เนื่องจากกรณีหลังมันผ่าน Router มาแล้ว)

^