terça-feira, 14 de abril de 2015

Criando uma rota Literal no Zend Framework 2

Acessando a url: http://localhost:8888/usuario

1 - Em module/Application/config/module.config.php

//Definindo o namespace

namespace Application;

//Registrando a rota

'router' => array(

        'routes' => array(

            'home' => array(

                'type' => 'Zend\Mvc\Router\Http\Literal',

                'options' => array(
                    'route' => '/',
                    'defaults' => array(
                        'controller' => 'Application\Controller\Index',
                        'action' => 'index',
                    ),
                ),
            ),
            'usuario' => array(
                'type' => 'literal',
                'options' => array(
                    'route' => '/usuario', // Não esquecer da barra "/"
                    'defaults' => array(
                        'controller' => 'Application\Controller\Usuario',
                        'action' => 'index',
                    ),
                ),
            ),

//Registrando o controller

'controllers' => array(
        'invokables' => array(
            'Application\Controller\Index' => 'Application\Controller\IndexController',
            'Application\Controller\Usuario' => 'Application\Controller\UsuarioController'
        ),
    ),


2 - Em module/Application/src/Application/Controller/ criar arquivo UsuarioController.php

<?php

namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class UsuarioController extends AbstractActionController
{
    public function indexAction()
    {
        return new ViewModel();
    }
}
?>

3 -  Em module/Application/view/application/ (nome do modulo Application) criar pasta usuario (nome do controller UsuarioController) e dentro o arquivo index.phtml (nome do método indexAction).

//Digite o código html para teste

<h1>Usuário</h1>

4 - No Linux/Mac

cd /var/www/html/seu_projeto/public

php -S localhost:8888

5 - No browser digite a url: http://localhost:8888/usuario

segunda-feira, 13 de abril de 2015

Flash Messages no Zend Framework 2

//No Controller

public function deleteAction() {
        //pegando o parametro vindo do $_GET
        $id = $this->params()->fromRoute('id', 0);
        //instanciando e enviando a entidade para o serviço
        $service = $this->getServiceLocator()->get('service');
        $delete = $service->delete($id);
        if ($delete == null) {
            $this->flashMessenger()->addSuccessMessage('Registro excluído com sucesso!');
        } else {
            $this->flashMessenger()->addErrorMessage('Não foi possível excluir o registro!');
        }
        return $this->redirect()->toRoute('usuario', array('controller' => 'usuario', 'action' => 'index'));
    }

//Na view

<?php
    echo $this->flashMessenger()->renderCurrent('error', array('alert', 'alert-danger'));
    echo $this->flashMessenger()->renderCurrent('success', array('alert', 'alert-success'));

?>

quarta-feira, 1 de abril de 2015

Mudança de Template no Zend Framework 2 (setTemplate)

//Controller

use Zend\View\Model\ViewModel;

public function indexAction(){

     $view = new ViewModel(array('msg'=>'layout login'));
     $view->setTemplate('layout/login');
     return $view;

}

//Em view/layout

01 - Criar o arquivo login.phtml

02 - Coloque no arquivo

<?php echo $this->msg; ?>