我开发了一个非常快速和简单的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关注*接口*,而不是*实现*。 –