J'ai développé une application PHP très simple et rapide pour lire des petites annonces à partir d'un fichier XML et permettre à l'utilisateur d'effectuer des opérations CRUD (c'était un devoir).Créer une API RESTful en PHP?
Je suis maintenant chargé de développer cette application pour un service RESTful. En fait, le professeur ne semble pas avoir d'expérience avec les services RESTful, car il a dit que mon application a été trouvée pour la prochaine affectation, quand mes recherches indiquent qu'elle ne répond pas vraiment à toutes les exigences de RESTful. Quoiqu'il en soit, je veux le faire correctement à des fins d'apprentissage, même si je peux remettre mon ancienne tâche et obtenir une bonne note. J'ai de la difficulté à apprendre par où commencer; Je ne suis pas sûr exactement ce qu'est vraiment un service RESTful.
Je pense que la meilleure façon d'obtenir des conseils est de poster un exemple de code de ma précédente mission pour voir comment j'ai géré les choses et comment je dois gérer les choses à la place.
Par exemple, voici comment je crée de nouvelles petites annonces.
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>
J'utilise aussi des paramètres d'URL pour les actions RUD. J'ai entendu dire que les paramètres d'URL ne sont pas autorisés?
Merci. Donc, l'instruction SWITCH, va-t-elle dans le fichier index.php? Et puis chaque cas appellera une fonction, à savoir CreateXML pour la méthode POST? Ensuite, les paramètres dont il a besoin seront le type d'objet, l'ID d'objet et le type de contenu? Comment puis-je obtenir les valeurs pour mettre à jour le XML, dois-je simplement l'envoyer au fichier Create.php contenant la liste des boîtes de saisie?
En ce qui concerne vos questions supplémentaires: oui, vous pouvez mettre le 'switch' dans votre index. php, ou si vous voulez entrer dans une architecture plus complexe, vous pouvez amorcer un composant de routeur externe qui gère le routage. L'analyse URI était pour référence seulement - je ne pense pas que vous en aurez besoin pour votre application. Compte tenu de la simplicité de votre application, vous pouvez simplement analyser et router la méthode de requête pour éditer votre fichier unique. Ce serait encore RESTful. –
Plus généralement, RESTfulness concerne * interface *, pas * implementation *. –