Faizan Ali
Faizan Ali

Reputation: 509

Is it necessary to have a view file with every controller action

Whenever I create a new action in the zend framework controller using the zf CLI tool it creates the corresponding view file. However, I don't need the view file for every action in the controller.

If I delete that view file manually will it affect my project.xml file or have any other effect on my project ?

Upvotes: 1

Views: 168

Answers (2)

vascowhite
vascowhite

Reputation: 18440

If your action does not require a view then you can disable it:-

public function myactionAction()
{
    $this->_helper->layout()->disableLayout();//to disable layout
    $this->_helper->viewRenderer->setNoRender(true);//to disable view
}

If you want to disable the view/layout for the whole controller then you can put the lines above in the init() method of your controller like this:-

public function init()
{
    $this->_helper->layout()->disableLayout();//to disable layout
    $this->_helper->viewRenderer->setNoRender(true);//to disable view
}

Once you have done that you can safely delete the view files without affecting anything else.

More details are available in the Action Controller manual.

Upvotes: 3

ehanoc
ehanoc

Reputation: 2217

No you don't need to.

Been a while since i worked with Zend Framework. But if memory serves me well, you have two options here.

1 - $this->_helper->viewRenderer->setNoRender(true); Which will stop the view being rendered

2- You can simply do what you need to do and call exit() in the end of the of your action.

Hope it helps.

Cheers

Upvotes: 1

Related Questions