การรับค่า Parameter จาก URL

การรับค่า Parameter จาก URL ไม่ใช่การรับค่ามาแบบ $_GET แต่เป็นการนำเอา $_SERVER['PATH_INFO'] มาแยกกันให้เป็น Array

เมื่อท่านติดตั้ง Q Lipe ใหม่ ให้ท่านไปแก้ไขไฟล์ที่ Application/Public/Home.php ให้เป็นดังนี้

<?php 

    defined( 'Q_APP' ) or die( 'คุณไม่มีสิทธิ์เข้าถึงไฟล์นี้โดยตรง' );
    
    $params = (isset( $_QLIPE ) && $_QLIPE[0] != null) ? $_QLIPE : array();

    $app = new App;
    $app::render( function( $datas ) use ( $app ) {
        echo '<pre>';
        print_r( $datas );
        echo '</pre>';
    } , $params );

?>

จุดสังเกตคือบรรทัดที่ 5 , 8 และ 12

โดยบรรทัดที่ 5 จะทำการตรวจสอบว่ามีตัวแปร $_QLIPE อยู่จริงหรือไม่ ถ้ามีก็เก็บตัวแปร $_QLIPE ไว้ในตัวแปร $params แต่ถ้าไม่มีก็เก็บเป็นค่า array()

ส่วนบรรทัดที่ 12 จะทำการส่งตัวแปร $params ให้กับเมธอด render

และบรรทัดที่ 8 function( $datas ) ก็คือตัวแปร $params ในบรรทัดที่ 12 จะถูกใช้งานในชื่อตัวแปรที่ชื่อว่า $datas

ถ้าหากเราลองเข้าผ่าน http://localhost/โฟลเดอร์-โปรเจ็กต์/Home/Param1/Param2 ผลลัพธ์ที่ได้คือ :

Array
(
    [0] => Param1
    [1] => Param2
)

Last updated

Was this helpful?