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; ?>

sexta-feira, 20 de fevereiro de 2015

Configurando DataFixture no Zend Framework2

01 - No arquivo module.config.php do módulo:


'doctrine' => array(
        'fixture' => array(
            __NAMESPACE__.'_fixture' => __DIR__ . '/../src/'.__NAMESPACE__.'/Fixture',
        ),
    ),

02 - No terminal (Linux/Mac) dentro da pasta do seu projeto zend framework execute:

vendor/bin/doctrine-module data-fixture:import

quinta-feira, 29 de janeiro de 2015

Gerando Getters and Setters com Doctrine2 no Zend Framework 2

No terminal (Linux/Mac), rode o seguinte comando:

vendor/bin/doctrine-module orm:generate-entities --filter="Tabela" --generate-annotations="true" --generate-methods="true" module/Tabela/src/

PS: Nome da Tabela sempre em maiúsculo.

Redirecionando Controller no Codeigniter

01 - Vá em /application/config/routes.php

02 - Adicione o seguinte indice ao array $route

$route['admin'] = "usuario"; 

Agora quando for digitado admin na url, o codeigniter irá redirecionar para o controller usuario.

quarta-feira, 28 de janeiro de 2015

Configuração Doctrine no module.config.php no Zend Framework 2

No arquivo module.config.php do seu Modulo, após o indice view_manager colocar a seguinte configuração:

'doctrine' => array(
        'driver' => array(
            __NAMESPACE__ . '_driver' => array(
                'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                'cache' => 'array',
                'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
            ),
            'orm_default' => array(
                'drivers' => array(
                    __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
                )
            )
        )

    ),