Como Instalar ZF – Zend framework tool – no Windows com Wamp

Não de se admirar, mas uso Wampserver 2 no windows.

E, quando se trata de instalar algum recurso extra, algumas dicas precisam ser tomadas em consideração, lá vai uma:

No Wamp arquivo php.ini que o php.exe usa não é o mesmo que o Apache usa!

Estes tempos fui instalar o ZF tool e o bichinho não queria funcionar corretamente, pois eu colocava o caminho da biblioteca do Zend Framework no arquivo php.ini do Wamp ( que é o que está na pasta bin do apache ) e teria que ser no php.ini no diretorio do php mesmo.

Vamos ver como instalá-lo.

Leia mais

Trocar a Codificação de Caracteres Padrão do PHP – Problemas com UTF-8

Normalmente, quando estamos desenvolvendo aplicações em php, estamos sempre testando códigos que precisam imprimir alguma informação na tela, e como é código rápido sempre nos esquecemos que os caracteres acentuados vão ficar aquelas coisas horríveis.

Depois de muito tempo sofrendo com as incompatibilidades do PHP, Mysql e Ajax para lidar com UTF-8, eu descobri várias artimanhas simples para resolver meus problemas, e que hoje se constituem um verdadeiro arsenal para eu colocar nos projetos que volta e meia estou fazendo.

Quando eu estava criando um script de testes eu me pegava colocando a tag meta antes de abrir o PHP:



<meta charset="utf-8" />

<?php

...

Foi quando pela primeira vez foi olhar no PHP.INI e ver se tinha alguma coisa que definisse o charset padrão do PHP, e para qual surpresa minha, tem!

E o mais gozado, é que é PHP_INI_ALL, ou seja, eu posso configurar meus scripts também, além do arquivo php.ini, usando a funcao ini_set():



<?php

ini_set( 'default_charset', 'utf-8');

Bom, com isto, estou resolvendo um zilhão de problemas bestas!

E mais interessante é que se eu fizer isto:



<?php

ini_set( 'default_charset', 'utf-8');

?>

<meta charset="iso-8859-1" />

O PHP vai dar preferência ao default_charset.

Agora já era dor de cabeças com imcompatibilidades, já vou direto colocando um charset no ini_set() e como faço um monte de include() para os meus testes, nem minhas aplicações e sites ou testes terão caracteres estranhos me azucrinando!

Besteira, mas ajuda!

O que posso definir no ini_set() do php?

Bom, estes dias eu pensei numa aplicação mais robusta que precisasse de alterações em muitas configurações do php, no entanto, tive que considerar o fato de muitos desenvolvedores não terem acesso ao arquivo php.ini, e me lembrei de uma situação que vivi alguns meses atrás: “O que posso definir no ini_set()“.

Para mais informações sobre ini_set, acesse a documentação da mesma em http://www.php.net/manual/pt_BR/function.ini-set.php.

Então, vamos explicar algumas coisas.

Diretivas do PHP

Diretivas são informações, tipo constantes, que o compilador usa para saber o que deve fazer com o código em questão na hora de realizar algum processamento. Geralmente, estas diretivas ficam em um arquivo de configuração (“.ini”), e que o administrador do sistema pode modificar para se adaptar às suas necessidades de processamento.

No php.ini o administrador pode modificar muita coisa da linguagem, e o desenvolvedor, pode usar da função ini_set() para alterar algumas configurações básicas dentro de um arquivo bootstrap ( bootstrap é um arquivo com algumas configurações da aplicação que pertencem propriamente ao PHP ou à aplicação em si ).

A chamada é simples:



init_set('diretiva', 'valor');

O uso mais comum é de display_errors.

Entrentanto, se quiséssemos modicar outras diretivas, quais poderíamos? Bom, ai está a questão, e precisamos entender como o PHP define as prioridades delas.

Existem basicamente 4 tipos de diretivas no PHP, são elas, que a referência define como “modos”:

PHP_INI_USER – A entrada pode ser definida nos scripts do usuário (como com ini_set()) ou no registro do Windows

PHP_INI_PERDIR – A entrada pode ser definida no php.ini, .htaccess ou httpd.conf

PHP_INI_SYSTEM – A entrada pode ser definida no php.ini ou httpd.conf

PHP_INI_ALL – Entrada pode ser definida em qualquer lugar

Então já temos uma luz ai. PHP_INI_USER e PHP_INI_ALL possuem permissão para serem definidas num arquivo bootstrap ou em qualquer arquivo php.

Onde achar estas diretivas?

O PHP possui um lista de diretivas, bem generosa, que pode ser acessada neste link do manual:

http://www.php.net/manual/pt_BR/ini.list.php

Olhar para esta lista não vai ajudar em nada, se não entender para o que serve, e onde aplicá-las, mas quanso se sabe o que quer, faz sentido!