<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect3 id="zend.controller.plugins.standard.puthandler">
    <title>Zend_Controller_Plugin_PutHandler</title>

    <para>
        <classname>Zend_Controller_Plugin_PutHandler</classname> bietet ein Drop-In Plugin für die
        Verwendung von <constant>PUT</constant> Request Bodies in Anfrage Parametern, so wie
        <constant>POST</constant> Anfrage Parameter. Er betrachtet die Anfrage und, wenn diese
        <constant>PUT</constant> ist, wird parse_str verwendet um den rohen <constant>PUT</constant>
        Body in ein Array von Parametern zu parsen welches dann bei der Anfrage gesetzt wird. z.B.,
    </para>

    <programlisting language="txt"><![CDATA[
PUT /notes/5.xml HTTP/1.1

title=Hallo&body=Welt
]]></programlisting>

    <para>
        Um die 'title' und 'body' Parameter als reguläre Anfrage Parameter zu erhalten muss das
        Plugin registriert werden:
    </para>

    <programlisting language="php"><![CDATA[
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new Zend_Controller_Plugin_PutHandler());
]]></programlisting>

    <para>
        Anschließend kann man auf die Parameter des <constant>PUT</constant> Bodies durch Ihren
        Namen zugreifen, von der Anfrage im eigenen Controller aus:
    </para>

    <programlisting language="php"><![CDATA[
...
public function putAction()
{
    $title = $this->getRequest()->getParam('title'); // $title = "Hallo"
    $body = $this->getRequest()->getParam('body'); // $body = "Welt"
}
...
]]></programlisting>
</sect3>
