Wednesday, 30 December 2015

Zend Framework2 manage layout and view variables from controller

Zend Framework manage layout and view variables from view


Question: How to set variable to layout from controller?
Following are different three ways to set the variable from controller.
First way
public function indexAction(){ 
    $this->layout()->variableName = 'value1';
}

Second way
public function indexAction(){ 
    $this->layout()->setVariable('variableName', 'value2');
}

Third way
    public function indexAction(){ 
    $this->layout()->setVariables(array(
        'variableName1' => 'value1',
        'variableName2'  => 'value2',
    );
}

In layout File, you can access with following way.
$this->variableName1;


Question: How to set variable to view from controller in Zend Framework2
public function indexAction(){ 
return new ViewModel(array(
           'variableName3' => 'value 3',
         ));
}

in layout view, you can access with following way.
$this->$this->variableName2;



Question: How I can get access to my module config from the controller?
public function indexAction(){ 
    $config = $this->getServiceLocator()->get('Config');
}



Question: How to Change layout in the controller in Zend Framework 2.0?
public function indexAction(){ 
    $this->layout('layout/mynewlayout'); /*It will search view/layout/mynewlayout.phtml*/
}



Question: How to disable layout in zend framework 2?
public function indexAction(){ 
    $viewModel = new ViewModel();
    $viewModel->setTerminal(true);
}



Question: How to disable render view in zend framework 2?
public function indexAction()
{ 
    return false;
}




Tuesday, 29 December 2015

Zend Framework 2 get params from URL

Zend Framework 2 get params from URL


Question: How to read the data from php://input?
$content = file_get_contents('php://input');
print_r(json_decode($content));



Question: How to get parameter value from GET without using Params plugin?
$parameterName1=$this->getRequest()->getRequest('parameterName2');
$parameterName2=$this->getRequest()->getRequest('parameterName2','Default Value');



Now with use of params plugins, you can get values easily from all type of request


Question: How to get parameter value from URL?
$parameterName1=$this->params()->fromQuery('parameterName1');
$parameterName2=$this->params()->fromQuery('parameterName2','Default Value');



Question: How to get all parameters value from URL?
$parameterArray=$this->params()->fromQuery();



Question: How to get parameter value from POST?
$parameterName1=$this->params()->fromPost('parameterName1');
$parameterName2=$this->params()->fromPost('parameterName2','Default Value');



Question: How to get all parameters value from POST?
$parameterArray=$this->params()->fromPost();



Question: How to get parameter value from header?
$parameterName1=$this->params()->fromHeader('parameterName1');
$parameterName2=$this->params()->fromHeader('parameterName2','Default Value');



Question: How to get parameter value from uploadedFile?
$parameterName1=$this->params()->fromFiles('parameterName1');
$parameterName2=$this->params()->fromFiles('parameterName2','Default Value');



Question: How to get parameter value from RouteMatch?
$parameterName1=$this->params()->fromRoute('parameterName1');
$parameterName2=$this->fromRoute()->fromFiles('parameterName2','Default Value');