我開發了一個非常快速和簡單的PHP應用程序,用於從XML文件讀取分類廣告並允許用戶對其執行CRUD操作(這是一項家庭作業)。在PHP中創建一個RESTful API?
我現在的任務是將此應用程序開發爲RESTful服務。這位教授實際上對RESTful服務似乎沒有任何經驗,因爲他說我的應用程序被發現要交給下一個任務,當時我的研究表明它沒有真正滿足所有RESTful需求。
無論如何,爲了學習的目的,我想正確地做到這一點,即使我可以交出舊作業並獲得好成績。儘管如此,我仍然無法學習。我不確定RESTful服務究竟是什麼。
我認爲獲得建議的最好方法是從我以前的任務中發佈示例代碼,以瞭解我如何處理事情以及如何處理事情。
例如,這裏是我如何創建新的分類。
Create.php
//Basically just a list of <INPUT TYPE = "text" NAME = "something"> in the <body> fields
CreateSuccess.php
<html><head><?php $simplerXML = simplexml_load_file('file.xml');
//Generate the basic ad information
$newAd = $simplerXML->addChild('advertisement','');
$newAd->addAttribute('category', $_POST["category"]);
$title = $newAd->addChild('title', $_POST["title"]);
$title->addAttribute('ID', $_POST["ID"]);
$pageTitle = $newAd->addChild('pagetitle', $_POST["pagetitle"]);
//etc, for all the SUBMIT boxes
//save the XML
$simplerXML->asXML('file.xml');
echo "<script type='text/javascript'>
//redirect back to ad listing page
window.onload = function() { top.location.href = 'ads.php'; };
</script>";
?></head>
<body></body></html>
我還使用了路德行動URL參數。我聽說網址參數也不被允許?
謝謝。
編輯: 所以SWITCH語句,它是否在index.php文件?然後每個案例都會調用一個函數,例如用於POST方法的CreateXML? 然後它需要的參數是對象類型,對象id和內容類型?如何獲取更新XML的值,我只是將它發送到包含輸入框列表的Create.php文件?
關於你提到的其他問題:是的,你可以把'之開關在你的指數。 php,或者如果你想進入更復雜的架構,你可以引導一個處理路由的外部路由器組件。 URI解析僅供參考 - 我認爲您不需要它爲您的應用程序。鑑於您的應用程序的簡單性,您可以解析並路由請求方法以編輯您的單個文件。這仍然是RESTful。 –
更一般地說,RESTfulness關注*接口*,而不是*實現*。 –