在我的課,AController
,我有以下方法:這是檢查REQUEST_METHOD的可靠方法嗎?
private function determineRequestMethod()
{
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$this->requestMethod = AController::POST;
}
else
{
$this->requestMethod = AController::GET;
}
}
這種方法是從構造函數調用。 POST
和GET
是類常量,requestMethod
是類變量。
PS - $_SERVER['REQUEST_METHOD']
可以在我的服務器上工作。
我已經更新了方法專門檢查GET
,並拋出一個異常時,請求方法不是GET
或POST
:
private function determineRequestMethod()
{
if($_SERVER['REQUEST_METHOD'] == AController::POST)
{
$this->requestMethod = AController::POST;
}
else if($_SERVER['REQUEST_METHOD'] == AController::GET)
{
$this->requestMethod = AController::GET;
}
else
{
throw new Exception('Unexpected request method [' . $_SERVER['REQUEST_METHOD'] . '].');
}
}
有[不止方法只是GET和POST(http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5。 1.1)。 – Gumbo 2010-08-01 15:52:18
@Gumbo - 謝謝! – 2010-08-01 16:11:04
你也可以使用'self :: POST'和'self :: GET',因爲這個方法存在於同一個'AController'類中,但我想你寫的類名是爲了清晰起見,這也很好:) – BoltClock 2010-08-01 16:25:15