Comment construire une API RESTful?

La question est: est-ce
J'ai une application web qui s'exécute sur un serveur PHP. J'aimerais construire une api REST pour elle.

J'ai fait quelques recherches et j'ai compris que le RESTE de l'api utilise les méthodes HTTP (GET, POST,...) pour certains d'URI avec une clé d'authentification (pas nécessairement) et les informations sont présentées comme une réponse HTTP avec l'info comme XML ou JSON (je préfère JSON).

Ma question est:

  1. Comment puis-je, en tant que le développeur de l'application, de construire, de ceux d'URI? Dois-je écrire un bout de code PHP à l'URI?
  2. Comment puis-je construire les objets JSON pour revenir comme réponse?