quinta-feira, 1 de outubro de 2015

Instalando o Laravel 5.1

Passo a passo para a instação do Laravel 5.1 em ambiente Linux e Mac:

1 - Abra a terminal

2 - Acessando o diretório dos seus projetos:
cd /var/www/html


3 - Baixando/Instalando o Laravel:
composer create-project laravel/laravel --prefer-dist


4 - Alterando no nome da pasta do framework:
mv laravel/ projeto

5 - Acessando a pasta do framework:
cd /projeto

6 - Iniciando o framework:
php artisan serve

7 - Verificando se a instalação está correta, abra a navegador e acesse: 
http://localhost:8000/

terça-feira, 1 de setembro de 2015

Instalando o composer como variavel global

Para instalar o composer como váriavel global em ambiente linux/mac faremos seguiremos o passo-a-passo abaixo:


1 - Baixando e instaçando o composer:curl -sS https://getcomposer.org/installer | php
2 - Movendo o composer para a pasta correta:
sudo mv composer.phar /usr/local/bin/composer
3 - Digite composer no terminal e verifique se a instalação aconteceu da forma correta.

Mais informações:

https://getcomposer.org/doc/00-intro.md

segunda-feira, 18 de maio de 2015

Codeigniter em Português

Traduzindo todas as mensagens do codeigniter para português.

01 - Baixe o pacote .zip do link abaixo.
https://github.com/CIBr/CodeIgniter-Portuguese-BR

02 - Descompacte o pacote e mova a pasta portuguese-br para diretório application/language/ do seu projeto.

03 - No arquivo application/config/config.php troque o valor do array $config['language'] para portuguese-br.

04 - Realize os testes.

Obs: No link passado também existe a forma de utilizar o pacote de tradução. Créditos para Infog.

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'
                )
            )
        )

    ),

segunda-feira, 26 de janeiro de 2015

Assets Helper

01 - /application/config/autoload.php

$autoload['helper'] = array('url', 'modulo', 'assets');

02 - Na root criar a pasta assets e criar os arquivo com o nome do controller, por exemplo:
usuario.css
usuario.js
cliente.css
cliente.js

03 - /application/helper/assets_helper.php

<?php

    if ( ! defined('BASEPATH')) exit('No direct script access allowed');
   
     //carregando o .css/.js referente ao modulo, caso existam
     function moduleAssets(){
         $CI = & get_instance();
         $controller = $CI->uri->segment(1) == false ? 'usuario' : strtolower($CI->uri->segment(1));
         $css = "assets/css/{$controller}.css";
         $js = "assets/js/{$controller}.js";
         $files = null;
         if(file_exists($css)){
             $files .= "<link rel='stylesheet' type='text/css' href='".base_url($css)."' />\n";
         }
         if(file_exists($js)){
             $files .= "<script src='".base_url($js)."'></script>\n";
         }
         return $files;
     }

?>

04 - View

<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Codeigniter Assets</title>

<?php echo moduleAssets(); ?>

</head>

quarta-feira, 21 de janeiro de 2015

Integração MailChimp com Codeigniter

01 - Fazer o download da classe do MailChimp para o Codeigniter:
https://github.com/waynhall/CodeIgniter-Library-for-MailChimp-API-v1.3


02 - Coloque a classe MCAPI no diretório /application/libraries /

03 - Configuração de conexão com o MailChimp

$config = array(
            'apikey' => 'db5b0123456789621651ca27f7c7657-us8', //API KEY do MailChimp
            'secure' => FALSE //default
        );

        $this->load->library('MCAPI', $config, 'mail_chimp');

        $list_id = 'b2d4012345'; //LIST ID do MailChimp


04 - Testando se a conexão com o MailChimp está correta:

$conexao = $this->mail_chimp->ping();
var_dump($conexao);

Irá retornar Everything's Chimpy! se tudo estiver correto ou FALSE caso encontre alguma falha na conexão.

05 - Exemplo simples de como cadastrar os dados no MailChimp:

        $email = trim($this->input->post('email'));

        $merge_vars = array(
            'FNAME'=> trim($this->input->post('nome')),
            'LNAME'=> trim($this->input->post('sobrenome')),
            'MMERGE4' => trim($this->input->post('telefone'))
        );
 

        //todos os parametros são obrigatórios
        $listSubscribe = $this->mail_chimp->listSubscribe($list_id, $email, $merge_vars); 


06 - Para mais informações consultar: https://apidocs.mailchimp.com/api/1.3/