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/

segunda-feira, 29 de dezembro de 2014

Instanciar Model em uma Library no Codeigniter

//application/libraries

<?php

class Auth{
  
    private $CI;
  
    public function __construct() {     
        $this->CI =& get_instance();     
    }  
  
    public function check(){      
        $this->CI->load->model('usuario_model');
        $check = $CI->usuario_model->find();
        return $check;
    }
}

sexta-feira, 26 de dezembro de 2014

Instanciar Library em um Helper no Codeigniter

//application/helpers/

function setPagination($total_rows){

$CI =& get_instance();

$CI->load->library('pagination');
$config['base_url'] = _SERVER.'/www/cipadrao/usuario/index/';
$config['first_link'] = 'Primeiro';
$config['last_link'] = 'Último';
$config['next_link'] = 'Próximo';
$config['prev_link'] = 'Anterior';
$config['per_page'] = _PER_PAGE;
$config['num_links'] = _NUM_LINKS;
$config['total_rows'] = $total_rows;

return $CI->pagination->initialize($config);

}