Paket Json

Json Server verwenden

  • Instanzierung des Json Servers und Abarbeitung der JsonRPC Abfrage des Requests
  • JsonRPC Abfrage des Requests verarbeiten
    $jsonserver = new Dragon_Json_Server();
    $jsonserver->handle();

Pluginschnittstellen für den Dispatchprozess

  • preDispatch für den Zugriff auf den Request vor der Verarbeitung
    class %packagenamespace%_%packagename%_Plugin_%pluginname%
        implements Dragon_Json_Plugin_PreDispatch_Interface
    {
        public function preDispatch(Dragon_Json_Server_Request_Http $request)
        {}
    }
  • postDispatch für den Zugriff auf den Request und die Response nach der Verarbeitung
    class %packagenamespace%_%packagename%_Plugin_%pluginname%
        implements Dragon_Json_Plugin_PostDispatch_Interface
    {
        public function postDispatch(Dragon_Json_Server_Request_Http $request,
                                     Dragon_Json_Server_Response_Http $response)
        {}
    }
  • servicemap für den Zugriff auf die Servicemap vor der Auslieferung
    class %packagenamespace%_%packagename%_Plugin_%pluginname%
        implements Dragon_Json_Plugin_Servicemap_Interface
    {
        public function servicemap(Zend_Json_Server_Smd $servicemap)
        {}
    }

Parameter aus dem Requestobjekt auslesen

  • getRequiredParam / getRequiredParams für geforderte Parameter (wirft eine Exception wenn der Parameter nicht vorhanden ist)
    $param = $request->getRequiredParam('%name%');
    $params = $request->getRequiredParams(array('%name%', '%name%'));
  • getOptionalParam / getOptionalParams für optionale Parameter (gibt den Defaultwert zurück wenn der Parameter nicht vorhanden ist)
    $param = $request->getOptionalParam('%name%', '%defaultvalue%');
    $params = $request->getOptionalParams(array('%name%' => '%defaultvalue%', '%name%' => '%defaultvalue%'));

Cache für die Servicedefinitionen

  • Ist in der Konfigurationsdatei '/config/dragon/json/cache.php' ein Dateipfad hinterlegt werden die Servicedefinitionen gecacht

Nutzung mit Application und Package Registry

  • Der Json Server registriert alle Services die in den Paketeinstellungen der Package Registry definiert wurden