讓我們看看如何在 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']