Wie man das Request-Objekt aus der ServiceManger in Zend Framework 2?

Ich bin die Entwicklung einer RESTful-Anwendung, und ich will um eine Fabrik zu bauen, das schafft die richtige ViewModel ( Zend\View\Model\ViewModel , Zend\View\Model\JsonModel meine XmlModel) - Objekt abhängig von der Accept (z.B. -H 'Accept: application/json') parameter im HTTP-request-header. Ich möchte, um dies zu implementieren als callback:

class Module implements ServiceProviderInterface
{

...

    public function getServiceConfig() {
        try {
            return array (
                'factories' => array(
                    'RestViewModel' => function($serviceManager) {
                        //Here I need the the Request object.
                        $requestHeadAccept = $requestObject->getHeaders()->get('Accept')->toString();
                        $return = null;
                        if (strpos($requestHeadAccept, 'application/json') != -1) {
                            $return = new JsonModel(array('data' => $data));
                        } elseif (strpos($requestHeadAccept, 'application/xml') != -1) {
                            ...
                        } else {
                            ...
                        }
                        return $return;
                    }
                )
            );
        } catch (\Exception $e) {
            ...
        }
    }

...

}

Wie bekomme ich die Request Objekt an dieser Stelle?

InformationsquelleAutor automatix | 2013-06-18

Schreibe einen Kommentar