Easter Egg

Criando uma função em PHP com e sem parâmetros

Posted in Desenvolvimento | Nenhum comentário

As funções são criadas para reaproveitarmos nosso código o máximo possível, melhorando a manutenção e produtividade.
Se o seu projeto deve executar determinada função mais de uma vez, crie uma função.
Ao longo do projeto, se a funcionalidade desta tarefa mudar só é preciso mudar uma única vez dentro da função.

As funções foram feitas para otimizar e organizar nosso trabalho e cada função deve fazer apenas UMA tarefa BEM feita e definida.

Vamos ao código.

Continue a leitura

Como pegar as meta tags de algum site com PHP

Posted in Desenvolvimento | Nenhum comentário

Cada dia mais está se falando em SEO, otimização, etc e as meta tags têm um papel fundamental nisso!
Semana passada um amigo me mostrou um script pra pegar as meta tags de um site. Ele pegou todo o conteúdo do site e utilizou regex (expressão regular) para obter cada uma das meta tags.
Detalhe: para cada meta tag era uma regex diferente!

Nesse post vou mostrar como podemos pegar as metatags de um site sem muito trabalho, sem regex e sem muitas linhas de código.

Continue a leitura

Concatenação de strings, aspas simples e duplas no PHP

Posted in Desenvolvimento | Nenhum comentário

Apesar de o resultado ser o mesmo (exceto o primeiro echo) a performance é diferente.
Claro que um simples echo não interfere na performance de um sistema em geral, mas em grandes projetos, qualquer otimização, por menor que seja, vale a pena ser considerada.

1
2
3
4
5
6
7
8
9
10
<?php
 
$nome = 'Lucas';
 
echo 'Meu nome é $nome'; // Meu nome é $nome
echo 'Meu nome é '.$nome; // Meu nome é Lucas
echo 'Meu nome é ',$nome; // Meu nome é Lucas
echo "Meu nome é ".$nome; // Meu nome é Lucas
echo "Meu nome é $nome"; // Meu nome é Lucas
?>

Tudo que está dentro de ” (aspas simples) é uma string.
Dentro das “” (aspas duplas), o PHP verifica se existem variáveis a serem substituídas.
Pode-se concatenar strings com . (ponto) ou , (vírgula)

A forma mais rápida de concatenar e exibir strings é dizendo o que é string e o que é variável. Assim:

1
<?php echo 'Meu nome é ',$nome; ?>
Continue a leitura

Otimização de loops while, for e foreach em PHP

Posted in Desenvolvimento | Nenhum comentário

Eu estava implementando um recurso num software de gestão comercial e vi um bloco while semelhante ao abaixo:

1
2
3
4
5
6
<?
while ( $i < count($contas) ) {
  echo "Nome: $contas[nome]";
  $i++;
}
?>

Ok, funciona. Mas pode ser bastante melhorado.
É um software grande e qualquer otimização é bem-vinda, principalmente em estruturas de repetição como while, for e foreach.

Veja algumas dicas:

Linha 1: Evite usar short tags pois nem todos os servidores são configurados da mesma forma. Utilize .
Linha 2: Utilizando o count() dentro da declaração do while, fará com que seja feita a contagem da variável $contas em cada repetição. Faça a contagem apenas UMA vez, antes do laço. Ainda na linha 1, declare as variáveis ($i, neste caso) antes de serem usadas.
Linha 3: Utilize as aspas corretamente, conforme explicado neste post.
Linha 4: Pré-incrementar contadores (++$i) é mais rápido que pós-incrementá-los ($i++).

Veja como o bloco acima pode ser reescrito:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$i=0;
$total_contas = count($contas);
 
while ( $i < $total_contas ) {
  echo 'Nome: '.$contas['nome'];
  ++$i;
}
 
unset($i);
unset($total_contas);
?>

Para exemplificar, utilizei um laço while mas pode ser usado em outras estruturas como for e foreach.

Continue a leitura

Alternativas ao DOMPDF para gerar PDF de páginas PHP

Posted in Desenvolvimento | 1 comentário

Neste outro post, expliquei com detalhes como gerar documentos PDF a partir de páginas PHP.

De todas as bibliotecas que testei, a melhor de todas é a DOMPDF (veja como utilizar neste post).
Algumas pessoas mandaram e-mails pedindo outras alternativas.

Veja abaixo outras classes que tem o mesmo propósito da DOMPDF: gerar PDF de páginas PHP.

FPDF
Download: http://www.fpdf.org/

mPDF
Download: http://www.mpdf1.com/mpdf/index.php?page=Download

R&OS PDF Class
Download: http://sourceforge.net/projects/pdf-php/

* As duas primeiras eu testei e gostei. A terceira foi indicada por um amigo.

Continue a leitura

Incluindo itens em uma lista com jQuery

Posted in Desenvolvimento | Nenhum comentário

Temos a seguinte lista de nomes:

1
2
3
4
5
6
<ul id="nomes">
    <li>Joãozinho</li>
    <li>Mariazinha</li>
    <li>Pedrinho</li>
    <li>Luizinho</li>
</ul>

Neste post eu explico como remover itens da lista, mas agora queremos incluir um item. Com jQuery é bem simples.

Para incluir o item ao final da lista:

$('#nomes').append('<li>Zezinho</li>');

E para incluir no início da lista:

$('#nomes').prepend('<li>Zezinho</li>');

Veja o exemplo em funcionamento neste link do JSFiddle: http://jsfiddle.net/moreirapontocom/xC9Vq/

O append() e prepend() servem para incluir elementos não apenas em listas, mas em qualquer outro elemento da página.

Qualquer dúvida, comente aí!

Continue a leitura

Utilizando templates com Smarty PHP

Posted in Desenvolvimento | Nenhum comentário

Utilizar templates, além de facilitar o desenvolvimento e manutenção, separa a camada de visualização (View) das outras camadas da aplicação.
Dos frameworks para templates que testei, o melhor de todos é o Smarty. É bastante completo, documentado e tem uma boa comunidade utilizando-a, o que ajuda na hora de resolver algum problema.

Vamos ao trabalho.

Continue a leitura

Zen Coding no Aptana Studio

Posted in Desenvolvimento, Ferramentas interessantes | Nenhum comentário

Para os desenvolvedores que utilizam o Aptana ou Eclipse como IDE, segue um vídeo mostrando um pouco da extensão e logo abaixo o link para o código-fonte e manual de instalação. Para instalar é super fácil, dispensando maiores comentários.

Qualquer dúvida é só postar aqui e terei prazer em ajudar!!

Código-fonte e manual de instalação (2 passos simples. Menos de 1 minuto): https://github.com/sergeche/eclipse-zencoding

Clonando elementos com Javascript usando jQuery

Posted in Desenvolvimento | 2 comentários

Clonar elementos da página é extremamente simples utilizando jQuery. A Função clone() faz o trabalho.

Por exemplo: vamos clonar o input abaixo.

<input type="text" name="Element1" 
    id="Element1" value="Este é o elemento 1" />

No JS:

var novo_elemento = $('#Element1').clone();

Pronto! Ao incluir o novo_elemento na página (utilizando o append() ou html(), por exemplo), seu novo input já estará na página.

Mas aí entramos em um porém: os IDs e NAMEs dos elementos serão iguais.
Para mudar os atributos do elemento clonado para o novo também é fácil.

1
2
3
4
var novo_elemento = $('#Element1').clone();
    novo_elemento.attr('id', 'ID-do-novo-elemento' );
    novo_elemento.attr('name', 'Name-do-novo-elemento' );
    novo_elemento.val('Valor padrão do novo elemento');

E quando o elemento estiver na página, estará assim:

<input type="text" name="Name-do-novo-elemento" 
    id="ID-do-novo-elemento" 
    value="Valor padrão do novo elemento" />

Agora sim: Pronto!

Qualquer dúvida, deixe um comentário aqui abaixo.

Continue a leitura