public function render()
    {
        // Verify that we do not make the mistake of braking session when debugging with echoes!
        $file = '';
        $line = '';

        if (true === headers_sent($file, $line)) {
            throw new Doozr_Form_Service_Exception(
                sprintf(
                    'If any output is sent before render() was successfully called '.
                    'then transportation of token can not be guaranteed! File %s Line %s',
                    $file,
                    $line
                )
            );
        }

        // Transfer required data transparently to form and it components so the developer doesn't need to but can.
        // We use the POST as default and accept GET for the step 1 in general as well.
        // So the user does not need to adjust the transport method but he can. So if we got null on getMethod()
        // when rendering, we should inject the POST if we got a result, the dev probably has configured some
        // transport and we will use this value instead.
        $requestMethod = $this->getForm()->getMethod();
        if (null !== $requestMethod) {
            $this->setMethod($requestMethod);
        } else {
            $this->getForm()->setMethod($this->getMethod());
        }

        // Generate a fresh token, store all the meta information and ensure that storage is up to date!
        $this
            ->token($this->getTokenHandler()->generateToken())
            ->addMetaComponents()
            ->handleBackgroundDataTransfer();

        // Return the result from rendering (depends on renderer passed in)
        return $this->getForm()->render()->get();
    }
public function render()
    {
        // Verify that we do not make the mistake of braking session when debugging with echoes!
        $file = '';
        $line = '';

        if (true === headers_sent($file, $line)) {
            throw new Doozr_Form_Service_Exception(
                sprintf(
                    'If any output is sent before render() was successfully called '.
                    'then transportation of token can not be guaranteed! File %s Line %s',
                    $file,
                    $line
                )
            );
        }

        // Transfer required data transparently to form and it components so the developer doesn't need to but can.
        // We use the POST as default and accept GET for the step 1 in general as well.
        // So the user does not need to adjust the transport method but he can. So if we got null on getMethod()
        // when rendering, we should inject the POST if we got a result, the dev probably has configured some
        // transport and we will use this value instead.
        $requestMethod = $this->getForm()->getMethod();
        if (null !== $requestMethod) {
            $this->setMethod($requestMethod);
        } else {
            $this->getForm()->setMethod($this->getMethod());
        }

        // Generate a fresh token, store all the meta information and ensure that storage is up to date!
        $this
            ->token($this->getTokenHandler()->generateToken())
            ->addMetaComponents()
            ->handleBackgroundDataTransfer();

        // Return the result from rendering (depends on renderer passed in)
        return $this->getForm()->render()->get();
    }
public function render ( ) { // Verify that we do not make the mistake of braking session when debugging with echoes! $ file = '' ; $ line = '' ; if ( true === headers_sent ( $ file , $ line ) ) { throw new Doozr_Form_Service_Exception ( sprintf ( 'If any output is sent before render() was successfully called ' . 'then transportation of token can not be guaranteed! File %s Line %s' , $ file , $ line ) ) ; } // Transfer required data transparently to form and it components so the developer doesn't need to but can. // We use the POST as default and accept GET for the step 1 in general as well. // So the user does not need to adjust the transport method but he can. So if we got null on getMethod() // when rendering, we should inject the POST if we got a result, the dev probably has configured some // transport and we will use this value instead. $ requestMethod = $ this -> getForm ( ) -> getMethod ( ) ; if ( null !== $ requestMethod ) { $ this -> setMethod ( $ requestMethod ) ; } else { $ this -> getForm ( ) -> setMethod ( $ this -> getMethod ( ) ) ; } // Generate a fresh token, store all the meta information and ensure that storage is up to date! $ this -> token ( $ this -> getTokenHandler ( ) -> generateToken ( ) ) -> addMetaComponents ( ) -> handleBackgroundDataTransfer ( ) ; // Return the result from rendering (depends on renderer passed in) return $ this -> getForm ( ) -> render ( ) -> get ( ) ; }
Renders the forms after the preparation is done. This method does generate a token for the current form
add all meta fields required for validation and so on, handles the data transfer from request to the next
and finally it renders the HTML and returns a valid form.

@author Benjamin Carl <opensource@clickalicious.de>

@return string The generated HTML output
Renders the forms after the preparation is done . This method does generate a token for the current form add all meta fields required for validation and so on handles the data transfer from request to the next and finally it renders the HTML and returns a valid form .