Rapidinha CodeIgniter – Método para carregar views

Posted: August 12th, 2010 | Author: | Filed under: CodeIgniter, Php, Programação | Tags: , , , | No Comments »

Essa é uma rapidinha de código no framework em PHP[bb], CodeIgniter[bb]. Não vou explicar como ele funciona e esse é apenas um modo que criei pra pegar as páginas que quero sem ter que ficar escrevendo muito.

Primeiramente eu criei um Model chamado Getter que, obviamente pega coisas. O código está abaixo:

function get_page($page,$dado = '',$logged = ''){
   if($logged == 'logged'){
      if($this->session->userdata('logged_in') != TRUE){
         //Redireciona pra um método para deslogar
      }
 else{
    //Pega a página
    $this->load->view('static/head_view');
    $this->load->view($page,$dado);
    $this->load->view('static/footer_view');
 }
 }
 else{
    $this->load->view('static/head_view');
    $this->load->view($page,$dado);
    $this->load->view('static/footer_view');
 }
 }

Como argumento obrigatório a função pede a página que vai mostrar em tela e como argumentos opcionais vão os dados a serem mostrados na página e se o usuário está logado. Isso é interessante caso você tenha páginas que podem ser visualizadas para usuários que não estão logados.

Achei interessante mostrar o modo que trato as páginas. O código não está otimizado e acredito que tenham linhas demais. Ainda não o revisei. Se houver algum outro modo interessante de se tratar isso, deixe um recado nos comentários. =)

Abraços


Dropdowns + CodeIgniter + Ajax

Posted: November 24th, 2009 | Author: | Filed under: CodeIgniter, Php, Uncategorized | 2 Comments »

Nos últimos meses eu tenho usado o Code Igniter pra refazer um sistema da empresa onde estava trabalhando. O que mais chamou a minha atenção no CodeIgniter foi o fato de ele ser simples. Ele não te prende como os outros frameworks em php.  Tudo bem. O foco aqui não é falar do CodeIgniter em si. Para mais detalhes, visite www.codeigniter.com.

O foco aqui é mostrar como a simplicidade pode melhorar muito o código. Por exemplo, várias vezes eu preciso preencher dropdowns (ou combobox, ou simplesmente selects) com resultados de requisições ajax.
Vamos para um exemplo:
Tenho um dropdown onde escolho um estado e assim que selecionar o estado, o dropdown de cidades será preenchido com as cidades daquele estado. Deixando o javascript de lado, vou direto ao código em php.
Assim que buscar no banco de dados as cidades daquele estado, eu preencho uma variável com os resultados  como options em html do seguinte modo usando o Code Igniter:

$sql = “select id,nome from cidades where estado = ?”;
$query = $this->db->query($sql,$estado);
$html = “<select name=’cidade’>”;
foreach($query->result() as $row){
$html .= “<option value=’” . $row['id'] . “‘>”. $row['nome'] . “</option>”;
}

$html .= “</select>”;

Esse pode ser o modo que a maioria dos programadores faz, mas o CodeIgniter pode tornar isso mais simples. Veja só:

$sql = “select id,nome from cidades where estado = ?”;
$query = $this->db->query($sql,$estado);

foreach($query->result() as $row){
$array[$row['id']] = $row['nome'];
}

$html = form_dropdown(‘cidade’,$array);

O que quero mostrar é que utilizando um helper do CodeIgniter, meu código ficou mais limpo e, consequentemente, melhor para dar manutenção.
Na minha opinião, o CodeIgniter é um ótimo framework para quem não quer perder tempo.

Para mais detalhes, http://www.codeigniter.com