Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Un objet jRequest pour chaque type de requête

Un objet jRequest prend en charge le traitement des données en entrée afin de les rendre disponibles facilement au framework et plus spécifiquement aux actions. Il permet entre autres de déterminer les noms du module et l'action à exécuter.

Il y a plusieurs types d'objets jRequest qui permettent de traiter les données en entrée différement, en fonction du type de protocole utilisé. En effet, on ne récupère pas les données en entrée pour une page HTML (situées dans l'URL pour une requête GET ou URL-encodées dans son corps pour une requête POST) de la même manière que celles d'un appel SOAP (les données étant situées dans le corps de la requête HTTP sous forme XML).

À chaque type d'objet jRequest correspond un ou plusieurs formats de sortie autorisés, donc un ou plusieurs objets jResponse permis.

Les objets jRequest disponibles sont :

  • classic : pour les requêtes HTTP normales dont la réponse peut être n'importe quel contenu (HTML, texte, image...),
  • soap : pour les requêtes de services SOAP. La réponse sera au format SOAP.
  • xmlrpc : pour les requêtes XML-RPC. La réponse sera nécessairement en XML-RPC,
  • jsonrpc : pour les requêtes JSON-RPC. La réponse sera nécessairement en JSON-RPC.

D'autres sont possibles biens sûr.

Vous aurez un point d'entrée pour chaque type de requête que vous voulez prendre en charge dans votre application.

API

Durant l'exécution de l'action, l'objet request correspondant à la requête est accessible via la propriété request du coordinateur. Ce dernier est accessible via l'objet jApp.


  // pour récupérer un paramètre en dehors d'un contrôleur
  $myfooValue = jApp::coord()->request->getParam('foo');

Mais dans un contrôleur, vous avez à votre disposition une méthode "raccourci" :


    $myfooValue = $this->param('foo');

Les autres propriétés de jRequest qui peuvent être utiles :

type Pour connaître le type de la requête
urlScriptPath Le chemin dans l'URL jusqu'au script
urlScriptName Le nom du script (le nom du fichier point d'entrée)
urlPathInfo La partie pathinfo de l'URL
params Les paramètres de la requête

Quelques méthodes utiles :

  • getIp() : pour récupérer la vraie IP de l'utilisateur (tient compte des proxy, firewall etc.)
  • getProtocol() : savoir si c'est du http ou https
  • getPort() : pour connaitre le port (80, 443..)
  • getDomainName() : pour récupérer le nom de domaine de l'application
  • getServerURI() : pour récupérer URL de l'application <protocol><domain>[:<port>]
  • isAjax() : pour savoir si la requête est une requête ajax ou pas.
  • header() et headers() : pour récupérer des en-têtes.