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

}

quarta-feira, 24 de dezembro de 2014

Paginação/Pagination Helper no Codeigniter

//config/constants.php
define('_SERVER', 'http://'.$_SERVER['SERVER_NAME']);
define('_PER_PAGE', 3);
define('_NUM_LINKS', 5);

//Controller
public function index(){
//criando paginação
$this->load->helper('pagination_helper');
$total_rows = $this->count();
$limit[0] = _PER_PAGE;
$limit[1] = $this->uri->segment(3) ? $this->uri->segment(3) : 0;
setPagination($total_rows);
//selecionando os dados
$this->data['usuarios'] = $this->usuario->findAll(null, null, $limit);
$this->data['pagination'] = $this->pagination->create_links();
//padronizando o caminho da página
$page = setPage($this->data['module'], 'lista');
//chamando a page pelo template
$this->template->view($page, $this->data);
}


//Pagination_helper
function setPagination($total_rows){
$CI =& get_instance();
$CI->load->library('pagination');
$config['base_url'] = _SERVER.'/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'] = _
$config['total_rows'] = $total_rows;
return $CI->pagination->initialize($config);
}

terça-feira, 9 de dezembro de 2014

Flashdata Messages no Codeigniter

//Controller
<?php
public function excluir($cliente_id){
        $this->load->model('cliente_model');
        $delete = $this->cliente_model->delete($cliente_id);
        if($delete){
            $this->session->set_flashdata('sucesso', 'Cliente excluído com sucesso.');
        }
        else{
            $this->session->set_flashdata('erro', 'Não foi possível excluir o cliente.');
        }
        redirect('cliente');
    }
?>

//View
<?php
        if($this->session->flashdata('erro')){
            echo '<div class="erro">'.$this->session->flashdata('erro').'</div>';
        }
        if($this->session->flashdata('sucesso')){
            echo '<div class="sucesso">'.$this->session->flashdata('sucesso').'</div>';
        }
?>

segunda-feira, 24 de novembro de 2014

Gerando as Entidades com Doctrine2 no Zend Framework2

01 - Configurar o arquivo /config/autoload/doctrine_orm.local.php

02 - No terminal (Linux/Mac)

cd /caminho/para/seu/projeto/root_do_projeto

03 -  vendor/bin/doctrine-module orm:convert-mapping --filter="NomeTabela" --from-database annotation module/NomeController/src/NomeController/Entity/

04 - Verificar se o arquivo foi criando em /module/NomeController/src/NomeController/Entity/

//Observações

01 - O nome da tabela

A tabela nome_tabela na geração da entidade dever ser nomeada NomeTabela.

02 - No terminal o comando vendor/bin/doctrine-module, mostra todas as funções disponíveis do doctrine2.

quinta-feira, 20 de novembro de 2014

Configurando Doctrine2 no Zend Framework2

01 - No diretório /config/autoload, criar o arquivo doctrine_orm.local.php:

<?php
return array(
    'doctrine' => array(
        'connection' => array(
            'orm_default' => array(
                'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
                'params' => array(
                    'host'     => '127.0.0.1', //Não usar localhost
                    'port'     => '3306',
                    'user'     => 'root',
                    'password' => '',
                    'dbname'   => 'nome_do_banco',
                    'driverOptions' => array(
                        PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"
                    )
                )
            )
        )
    ),
);
?>

02 - No diretório data criar a pasta DoctrineORMModule e dentra ela criar a pasta Proxy.

terça-feira, 18 de novembro de 2014

Instalando Doctrine2/Hounddog no Zend Framework 2

No zendframework

01 - Composer.json

{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"zf2"
],
"homepage": "http://framework.zend.com/",
"minimum-stability": "dev",
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "2.*",
"doctrine/doctrine-module": "dev-master",
"doctrine/doctrine-orm-module": "dev-master",
"hounddog/doctrine-data-fixture-module": "dev-master"
}

}

No Terminal

02 - php composer.phar self-update

03 - php composer.phar install

04 - cd public

05 - php -S localhost:8888

No browser

06 - localhost:8888

No zendframework

07 - Em config/application.config.php

'modules' => array(
        'Application',
        'DoctrineModule',
        'DoctrineORMModule',
        'DoctrineDataFixtureModule'

    ),