Zend_Controller-Plugins-PutHandler.xml 1.6 KB

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