讓我們看看如何在 PHP 中處理 HTTP 請求。
PHP 默認提供基於文件的路由。您可以創建一個 index.php 文件,並使其對應到 / 路徑。
在一開始時,我們在 Hello World 的示例中就看到了這一點。
同樣地,您可以創建一個 test.php 文件,然後 Apache 會在 /test 路由上自動提供該文件。
$_GET、$_POST 和 $_REQUEST
文件對所有 HTTP 請求進行響應,包括 GET、POST 和其他動詞。
對於任何請求,您可以使用 $_GET 对象來訪問所有查詢字符串數據,它被稱為 超全局 變量,並且在我們的所有 PHP 文件中都可以自動使用。
當然,在 GET 請求中最有用,但也可以在其他請求中將數據作為查詢字符串發送。
對於 POST、PUT 和 DELETE 請求,您更有可能需要以 urlencoded 數據或使用 FormData 對象發送的數據,PHP 使您可以使用 $_POST 來獲取這些數據。
還有一個 $_REQUEST 對象,它包含了 $_GET 和 $_POST 的所有數據。
$_SERVER
我們還有一個叫做 $_SERVER 的超全局變量,您可以使用它來獲取很多有用的信息。
您之前已經看到如何使用 phpinfo()。讓我們再次使用它來查看 $_SERVER 提供的信息。
在 MAMP 的根目錄中的 index.php 文件中運行以下代碼:
<?php
phpinfo();
?>
然後在 localhost:8888 生成頁面,搜索 $_SERVER,您將看到存儲的所有配置和分配的值:
您可能會使用到的一些重要變量包括:
$_SERVER['HTTP_HOST']$_SERVER['HTTP_USER_AGENT']$_SERVER['SERVER_NAME']$_SERVER['SERVER_ADDR']$_SERVER['SERVER_PORT']$_SERVER['DOCUMENT_ROOT']$_SERVER['REQUEST_URI']$_SERVER['SCRIPT_NAME']$_SERVER['REMOTE_ADDR']