Habilitando Layouts no CodeIgniter (Template Engine) – Parte 2

23

Posted by flaviosilveira | Posted in CodeIgniter, Php, Programação em geral | Posted on 18-02-2010

Atenção!! Este artigo foi escrito em cima da versão 1 do Codeigniter. Para detalhes de como usar com a versão 2 do framework clique aqui.

Continuando a parte 1 deste post.
Se você perdeu a primeira parte clique aqui para ler a primeira parte.

5 – Construindo sua View

Sua View deve ser feita normalmente, como voce já está acostumado a fazer, com o nome que você colocaria normalmente.
Apenas com o conteúdo que muda de uma página para outra.

O HTML que você colocar aqui na View irá substituir a variável {content_for_layout} que definimos no layout acima.
Vou colocar nessa nossa view de exemplo apenas um título e um parágrafo para demonstrar.
Ficando assim:


<h1>Titulo VIEW</h1>

<p>Paragrafo teste teste teste teste.</p>

Chamei essa view de home.php.

6 – Desenvolvendo a Classe

Quando definimos nosso Hook no passo 2, setamos que a pasta onde ficaria nossa classe seria a pasta hooks que vem por padrão no projeto do CodeIgniter.

Vamos criar nossa classe dentro dessa pasta, e, com o nome que também especificamos na definição do Hook que foi Layout.php
Se você não seguiu o exemplo, faça suas devidas adaptações.

A classe é um pouco extensa, leia com atenção.
Para ajudar ela está com os comentários do próprio Mozart Petter.
Read the rest of this entry »

Habilitando Layouts no CodeIgniter (Template Engine) – Parte 1

20

Posted by flaviosilveira | Posted in CodeIgniter, Php, Programação em geral | Posted on 18-02-2010

Atenção!! Este artigo foi escrito em cima da versão 1 do Codeigniter. Para detalhes de como usar com a versão 2 do framework clique aqui.

Vejo muitos desenvolvedores criticarem o CodeIgniter por ele não utilizar o conceito de Layout ou ter um Template Engine dentro dele.

Template engine ou o conceito Layouts , falando em um exemplo rápido e prático seria mais ou menos o seguinte:
Pense que você tem um topo e um rodapé que nunca mudam no seu portal.
Ou seja, muda apenas o meio das páginas. Veja a figura abaixo.




E aí? Você vai ter que colocar esse topo e esse rodapé em todas as páginas que você chamar?
Ou você é malandro e vai fazer um include dentro das telas?
Read the rest of this entry »

ScreenCast – Bate papo sobre desenvolvimento de sites para IPhone

6

Posted by flaviosilveira | Posted in IPhone - Desenvolvimento, Programação em geral, Screencast | Posted on 19-01-2010

Salve galera!

No meio do ano passado fiz um experiência na tentativa de fazer um Screencast com alguns estudos que fiz sobre o desenvolvimento de sites voltados para o IPhone.

De lá pra cá acabei me envolvendo em outras coisas e nem lembrei de publicar isso.

Agora está ai! Um bate papo com exemplos de quase 20 minutos de duração para quebrar alguns mitos de se criar sites para Iphone. Também mostro algumas ferramentas, frameworks para facilitar a vida e simuladores para você fazer os devidos testes.

Nesse Vídeo:
- Fazendo um site para IPhone no braço, HTML, JavaScript
- IWebKit – Framework para desenvolvimento de sites no IPhone
- Simuladores para testar: IPhoney, Iphone Simulator(XCode)
- IPhone Project do Aptana

Confiram!!

Alguns links:
- IWeb Kit
- Usando Iphone Simulator (Em inglês)

Valeu galera! Espero que curtam.
Qualquer dúvida entrem em contato pelo email ou twitter.
Aguardo os feedbacks.

Função para contar Palavras (Padrão de caracteres) em uma String Microsoft SQL Server

1

Posted by flaviosilveira | Posted in Banco de Dados, Programação em geral, Programação SQL | Posted on 06-11-2009

Salve galera!

Precisei durante essa semana de uma função que contasse quantas vezes uma palavra aparecia dentro de uma String no SQL Server. Achei que já tivesse algo pelo menos similar, mais após andar pelo MSDN e pelo Books Online vi que o jeito seria fazer uma função.

A lógica é a seguinte:

  • Recebo via Parâmetro a Palavra que quero buscar e a String toda ou texto.
  • Faço um loop baseado no tamanho do texto.
  • Pego o tamanho da palavra que está sendo procurada e a cada caracter do texto, andamos o tamanho da palavra e comparamos se isso é igual a palavra procurada.
  • Se for, soma um no contador de palavras e continua.

Agora como fica o código disso? Repare abaixo:
Read the rest of this entry »

Comparando Arrays e Trazendo os valores diferentes

1

Posted by flaviosilveira | Posted in Php, Programação em geral | Posted on 16-09-2009

Salve pessoal.

Ontem precisei comparar os resultados de dois arrays e deles trazer os valores que estavam em apenas um dos arrays.

A princípio procurei uma função que fizesse isso pra mim, achei que o array_diff fizesse isso para a gente. Mas me enganei! Não achei uma função com esse resultado.

A função array_diff na verdade traz apenas os valores que constam no primeiro array, mas não constam no segundo.
Exemplo:

<?php

$array1 = array("bola", "quadrado", "triangulo");
$array2 = array("esfera", "quadrado", "triangulo");

$result = array_diff($array1, $array2);
print_r($result);

?>

O resultado do código acima nos retorna um array com o valor “bola”.
Pois é o único valor que consta no primeiro array e não no segundo.
Read the rest of this entry »

CodeIgniter: Use a Global $_SERVER no config para ganhar dinamismo com subdomínios.

2

Posted by flaviosilveira | Posted in CodeIgniter, Php, Programação em geral | Posted on 26-07-2009

Cenário:

Você compra o domínio principal, www.site.com.br. E você vai ter duas versões desse site, uma para cada cliente, que vai usar todas as regras de negócio iguais. A única diferença será o layout. Os clientes pediram os subdomínios branco.site.com.br e preto.site.com.br.

Você pode fazer duas cópias do site em pastas diferentes, mas levando em consideração que eles tem o mesmo CORE, isso não é muito inteligente. Pense se você tiver que fazer uma atualização, você vai ter de mexer em ambos os projetos.

Porque não fazer os subdomínios como links simbólicos para uma mesma pasta? De lá você pode fazer uma verificação. Se for um site, pega o layout branco, se for o outro pega o layout preto.

Problema:

No Codeigniter você define a URL principal do seu projeto nos arquivos de configuração, na variável $config['base_url']. Você não vai ter como colocar os subdomínios lá. O que fazer?

Solução:
Usar a Global $_SERVER.

Essa Global traz informações como o host que você está acessando, o email do administrador da máquina, o software usado, a configuração do TimeOut entre outras.

Para que você mesmo visualize tudo isso faça o seguinte. Abra o seu config.php do CodeIgniter e logo acima de onde está setado a variável $config['base_url'] de um print_r, como abaixo:


|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
|       http://example.com/
|
*
print_r($_SERVER);
die;
$config['base_url']     = "http://www.site.com.br/";

Read the rest of this entry »

Redirecionando usuários do IPhone para a versão mobile do seu site – JavaScript

18

Posted by flaviosilveira | Posted in IPhone - Desenvolvimento, JavaScript, Programação em geral | Posted on 19-07-2009

As pessoas que me acompanham sabem que há pouco mais de um mês adquiri um IPhone.
A minha operadora me ligou oferecendo alguns pontos que valiam desconto na aquisição do aparelho. Não perdi tempo e corri lá buscar.

Desde então as minhas leituras diárias começaram a se voltar mais para IPhone.
Desenvolvimento de aplicativos, desenvolvimento de sites, ‘manhas’ para usar o aparelho, dicas para economizar bateria, e por ai vai.

O que trago hoje aqui faz parte dos meus estudos para criação de sites para o público que usa IPhone, que é, identificar que seu visitante está usando o aparelho e redirecioná-lo para a versão mobile do seu site.

A ideia é bem simples, e, para colocar ela em prática usamos JavaScript.

Primeiro crie um arquivo HTML e o prepare para receber um javaScript dentro das tags do cabeçalho.

<html>
<head>
<title>::: Teste IPhone :::</title>
<script type='text/javascript'>
</script>
</head>
<body>
</body>
</html>

Read the rest of this entry »

CodeIgniter ‘metido’ a Ruby on Rails. (ciforms.sh)

2

Posted by flaviosilveira | Posted in CodeIgniter, Php, Programação em geral, Shell Script | Posted on 16-04-2009

Salve Galera…

Vocês sabem, muitos projetos em sistemas são similares, sempre aquela mesma coisa…Listar, Inserir, Editar e Remover.
Isso me levou a querer criar algo para facilitar tudo isso.

Vendo meu Amigo Fábio Tomio mandando ver no Ruby On Rails, ele me mostrou que criava um cadastro (Listar, Inserir, Editar e Remover) muito facilmente, com apenas um comando no terminal, usando a funcão Scaffold se não me engano.

Inspirado nisso, resolvi fazer um Shell Script que geraria todas as views, controller e model prontas com essas opções.

Introdução

  • Chamei de CiForms.
  • Essa é uma versão de teste. É a versão Zero.
  • Fiz esse script como estudo. Não tenho pretensões de lucros, suporte, nem nada com ele.

Porque não usar o Scaffolding do CodeIgniter

  • O Scaffolding do CodeIgniter não é aproveitável para o desenvolvimento de um projeto, ele não segue o padrão MVC do Framework. Como consta no manual, ele é apenas uma maneira de popular rapidamente uma tabela.

Read the rest of this entry »

Firefox ajudando no seu dia de trabalho…

4

Posted by flaviosilveira | Posted in Browsers, Programação em geral | Posted on 08-01-2009

Fui à casa do meu amigo Jean há alguns dias, ajudar com algumas soluções de programação para o seu site. E no vai e vem da programação comecei a apresentar e adicionar umas ferramentas no firefox dele. Ele ficou completamente maravilhado com a coisa toda, e isso me deixou pensando. Porra! A galera que está começando ou quem já programa e não conheçe, precisa saber dessas ferramentas.

Muitas vezes algumas coisas por serem tão naturais para nós, faz parecer que todo mundo conhece aquilo.

A maioria de programadores e desenvolvedores gostam de Firefox, fato!
Talvez em primeiro lugar para ir de encontro com a Microsoft. Segundo porque o Firefox geralmente obedece o que está no seu código, e terceiro, porque ele ajuda muito quando você tem umas ferramentas bacanas adicionadas a ele.

Para adionar complementos no seu firefox duas opções:
- Você pode ir no Menu: Ferramentas >> Complementos e procurar por ele na aba Adicionar.
- Ou ir direto no site de plugins da Mozilla, e baixá-los para sua máquina. Para posteriormente instalar as extensões que você baixou, vá no Menu: Arquivo>>Abrir Arquivo.

Eis alguns complemetos que uso: Read the rest of this entry »