Categorias
Composer

Instalação do Composer no Windows com Xampp

Recentemente precisei desenvolver um projeto no windows e para “Nossa Alegria” o Composer não funcionou como deveria, pois não consegui acessá-lo a partir de qualquer diretório.
Então neste post vou ensinar como instalar o Composer no Windows com acesso a partir de qualquer diretório.
Vamos lá.

Categorias
Framework Linux Ubuntu Zend Framework

[ Linux ] Instalar o Zend Framework com Zend Tools (ZF) no Ubuntu

Fala galera!

Minha série de tutoriais para Zend Framework foram desenvolvidos pensando nos usuários Windows, mas eu também sou usuário Linux e recentemente tenho me adaptado cada vez mais ao Ubuntu.

Então gostaria de compartilhar com os colegas como instalar o Zend Framework com Zend Tools – ZF – no Ubuntu.

A vantagem é que além de instalar o Zend Framework, o instalador já configura o Zend Tool.

Vamos lá!

Categorias
Dica PHP Zend Framework

[ Dica Zend ] – Baixar Arquivos com Zend Framework

Estava fazendo um site para uma comunidade que precisava oferecer informativos para download.
De onde veio a necessidade de criar um link para download http://projeto.localhost/baixar/arquivo/nome/:ARQUIVO
Peguei um código que tinha em PHP puro e portei para o Zend.
A solução ficou como segue:

Categorias
Dica PHP

[ Dica PHP ] – Como informar ao PHP se o URL é HTTP ou HTTPS

Curiosamente, descobri que o PHP é cheio de mistérios.
Eu estava criando uma função para filtrar o URL de um sistema em MVC e surgiu a questão:
Como saber que o URL solicitado está em HTTP ou HTTPS?

Categorias
Dica PHP

[ Dica PHP ] – Como substituir o último caractere de um string em PHP

Hoje, me deparei com uma necessidade básica e interessante.

Eu precisei substituir o último caractere de um string.

Para resolver isto é facil, veja a solução a seguir…

Categorias
Framework PHP 5 Zend Framework

[ Tutorial ] Zend Framework Parte 01

Instalação, configuração, criação de projeto

Sumário

Neste tutorial, você vai aprender como baixar e instalar o Zend Framework, assim como ativar o mod_rewrite do Apache e criar um Virtual Host. Vai modificar o arquivo .htaccess para alterar o comportamento do Zend Framework.
Você também vai aprender a criar um projeto utilizando o ZF Tool.

Categorias
Algoritmos Dica PHP

Operadores DIV e MOD em PHP

Estes dias estava lendo um livro de algoritmos e tinha alguns algoritmos utilizando DIV e MOD.

A idéia seria pegar as partes de uma data no formato AAAAMMDD e colocar no formato DDMMAAAA.

Claro, eu como programador PHP já fui logo pensando em strpos(), mas ai o livro mostrava uma abordagem matemática interessante e global para outras linguagem.

 lang="sql

data <- 20110829

ano <- data DIV 10000 // retorna 2011

dia <- data MOD 100  // retorna 29

A lógica é a seguinte:

Pegar a data e dividir por 10000 retorna o ano.

Como é uma divisão exata, o total zeros do divisor é o total de números que vão ser removido e o quociente é o ano que desejamos.

 lang="sql

2011|0829  // estes 4 dígitos finais serão removidos

   1|0000

Pegar a data e fazer uma operação com Módulo 100 retona o dia.

O total de zeros passados no módulo é o total de digitos finais do número que vão ser retornados:

 lang="sql

201108|29 // estes 2 digitos finais serão retornados

     1|00

Tá e como fica o Mês?

Bem, o mês… eh… ahum, sim o mês! Claro o mês! 😀

O Mês está no meio, estão seguindo a lógica da pra criar algo:

 lang="sql

data <- 20110829

ano <- data DIV 10000 // retorna 2011



auxiliarMes <- data DIV 100 // retorna 201108

mes <- auxiliarMes MOD 100 // retorna 08



dia <- data MOD 100  // retorna 29

Vou deixar você entender sozinho o que aconteceu ali em cima.

O PHP no seu núcleo não tem um operador para DIV somente para MOD, que é o % (porcento).

Ai para inventar moda, e com um jeitinho brasileiro criei estas duas funções:



/**

 * Retorna o módulo de uma divisão

 */

function MOD( $number, $base ) {

	return $number % $base;

}

/**

 * Retorna o resto de uma divisão

 */

function DIV( $number, $base ) {

	return floor( $number / $base );

}

Na função DIV eu utilizei a função nativa do PHP floor() que arredonda para baixo, pois dividindo o número 20110829 por 10000 resultaria no quociente 2011.0829.

Ai, no caso de datas fica assim:



$data = 20110829;

$dia = MOD( $data, 100 );

$auxiliarMes = DIV( $data, 100 );

$mes = MOD( $auxiliarMes, 100 );

$ano = DIV( $data, 10000 );



echo sprintf("%02s%02s%04s",$dia,$mes,$ano);

Utilizei a função de formatação sprintf(), pois caso o dia ou o mês precise do zero na frente, pelo fato de ser uma divisão não retornaria o zero na frente.

Bom, é isto, espero que tenha ajudado os malucos!

Categorias
Dica PHP PHP 5

Pegar Constantes Definidas no PHP Pelo Usuário

Ao desenvolver uma aplicação precisei fazer uns testes de verificação onde era necessário saber quais constantes eu já havia definido.

Na documentação do PHP existe uma função bem interessante que retorna todas as Constantes declaradas: get_defined_constants.

Entretanto, como a cada nova versão que surge, novos recursos são adicionados, e no meu caso, não prestei atenção na implementação do parametro “categorize” na função get_defined_constants a partir do PHP 5.00, de fato, bem pouco usei esta função, mas quando usei a primeira vez foi com PHP 4.x.x.

Desta forma, agora é possivel pedir ao PHP que mostre as constantes categorizadas por tipo ( mhash, calendar, date, ftp, etc e tal ) e o melhor de tudo, colocaram a categoria “user“.

Vamos fazer alguns teste:

1) Somente get_defined_constants():



print '<pre>';

print_r( get_defined_constants() );

print '</pre>';

Note que o resultado foi uma constante debaixo da outra.

2) Agora get_defined_constants(true):



print '<pre>';

print_r( get_defined_constants(true) );

print '</pre>';

A coisa começou a melhorar! Temos agora um índice para categorizar.

Se você rolar a página de resultados para baixo até o final, vai encontrar o índice “user“.

Desta forma, para pegar somente as constantes definidas por nós, usuários, basta colocar o resultado de get_defined_constants dentro de uma variavel e chamar a impressão direto a partir do índice “user”.

3) Agora pegando somente as definidas pelo usuário:



print '<pre>';

$constantes = get_defined_constants(true);

print_r( $constantes['user'] );

print '</pre>';

Pronto! O milagre aconteceu e achei as constantes definidas por mim mesmo!

Categorias
Apache Design Pattern Dica PHP Tutorial

URL's Amigáveis com PHP e Apache – Um padrão de projeto de software

BONUS: Clique aqui para baixar os arquivos usado no projeto deste tutorial.

Certo dia um amigo que conheci através deste blog, Scott, me questionou sobre o método que eu utilizo para gerar os URL amigáveis.

Por este motivo me dispus a postar aqui de forma mais simplificada como obter o resultado desejado para se obter URL’s amigáveis.

Categorias
Dica PHP

[ Dica PHP ] Imagens aleatórias em PHP

Já pensou em exibir imagens aleatórias em um site no carregar da página?

Existem várias formas de se fazer isto, mas a uma bem simples é criar um array com os nomes da imagem e sortear quem vai aparecer.

Vamos lá.



<?php

/**

 * Script para listar uma imagem aleatóriamente

 */

/**

 * Indexa a lista de imagens

 * a ser sorteada aleatoriamente

 * @var $imagem array

 */

$imagem = array(

    'nome-01.jpg',

    'nome-02.jpg',

    'nome-03.jpg',

    'nome-04.jpg',

    'nome-05.jpg'

);





/**

 * count() conta a quantidade de chaves no array

 * @var $totalImagens int

 */

$totalImagens = count( $imagem );





/**

 * mt_rand() sorteia um numero

 * entre 1 e o total de imagens no array

 * @var $numeroRandomico int

 */

$numeroRandomico = mt_rand( 1, $totalImagens );





/**

 * Exibição Teste

 */

printf(

    '<img src="%s" />',

    $imagem[ ( $numeroRandomico - 1 ) );





/**

 * Fim do script

 */