2017-07-12 153 views
1

當前我正在爲資源「事件」執行CRUD任務,並且對於每個任務,我都有一個表示該任務提交到的頁面(即events/create。 php,events/read.php,events/update.php,events/delete.php)。我想代之以處理所有這一頁(當有一個帶有索引,顯示,放置和刪除方法的EventsController時,有點像使用Ruby on Rails)。我不想使用框架。我怎樣才能做到這一點在生PHP?爲同一頁面上的一個資源處理所有表單(php)

回答

0

這是通過兩件事來實現的。首先,通過操縱您的服務器配置,將所有流量引導到此頁面。在Apache中的情況下,最經常被放置.htaccess文件在你的項目的根目錄沿東西線完成:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .+ index.php [L] 

這將直接全部流量,index.php。其次,您的PHP腳本必須能夠通過至少捕獲請求URI,方法和主體來將每個請求轉換爲有意義的內容。

由於您對使用框架不感興趣,因此您將爲您剪下工作。作爲開始,你應該看看$_SERVER['REQUEST_URI']$_SERVER['REQUEST_METHOD']並且用類似捕獲原始請求體:

$body = file_get_contents('php://input'); 

一旦你有了這個數據,你必須決定如何你想在你的腳本中的相應的功能基礎上觸發上述內容涉及解析URL,檢查請求內容類型頭以決定如何解析輸入等。

如果您決定這是因爲有幾十個預製解決方案而做的太多工作,您應該使用look at FastRoute which is a very popular library來涵蓋我在此處編寫的所有內容。

相關問題