Zend_Controller-Plugins-PutHandler.xml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 16603 -->
  3. <!-- Reviewed: no -->
  4. <sect3 id="zend.controller.plugins.standard.puthandler">
  5. <title>Zend_Controller_Plugin_PutHandler</title>
  6. <para>
  7. <classname>Zend_Controller_Plugin_PutHandler</classname> bietet ein Drop-In Plugin für die
  8. Verwendung von PUT Request Bodies in Anfrage Parametern, so wie POST Anfrage Parameter. Er
  9. betrachtet die Anfrage und, wenn diese PUT ist, wird parse_str verwendet um den rohen PUT
  10. Body in ein Array von Parametern zu parsen welches dann bei der Anfrage gesetzt wird. z.B.,
  11. </para>
  12. <programlisting language="txt"><![CDATA[
  13. PUT /notes/5.xml HTTP/1.1
  14. title=Hallo&body=Welt
  15. ]]></programlisting>
  16. <para>
  17. Um die 'title' und 'body' Parameter als reguläre Anfrage Parameter zu erhalten muss das
  18. Plugin registriert werden:
  19. </para>
  20. <programlisting language="php"><![CDATA[
  21. $front = Zend_Controller_Front::getInstance();
  22. $front->registerPlugin(new Zend_Controller_Plugin_PutHandler());
  23. ]]></programlisting>
  24. <para>
  25. Anschließend kann man auf die Parameter des PUT Bodies durch Ihren Namen zugreifen, von der
  26. Anfrage im eigenen Controller aus:
  27. </para>
  28. <programlisting language="php"><![CDATA[
  29. ...
  30. public function putAction()
  31. {
  32. $title = $this->getRequest()->getParam('title'); // $title = "Hallo"
  33. $body = $this->getRequest()->getParam('body'); // $body = "Welt"
  34. }
  35. ...
  36. ]]></programlisting>
  37. </sect3>