Posts tagged ‘instalacao’

26 de julho de 2010

PHPUnit no CodeIgniter com CIUnit

por adlerparnas

Fala Pessoal!

Meu nome é Adler Parnas e hoje vou falar da instalação do PHPUnit no CodeIgniter utilizando a biblioteca CIUnit. Não tenho o objetivo de explicar o funcionamento nem a utilização do CodeIgniter nem o PHPUnit.

O PHPUnit é um Framework para automatização de testes unitários,  muito utilizado para Desenvolvimento Baseado em Testes. O CIUnit é uma série de códigos em PHP para a integrar o PHPUnit ao CodeIgniter para que você possa realizar testes de seus Models, Controllers e Helpers de uma maneira bem mais fácil.

A instalação do PHPUnit pode ser feita através do PEAR. Para quem não possui o PEAR intalado basta seguir o tutorial no site oficial da PEAR, pra quem usar WAMP + Windows 7 pode ler esta explicação que escrevi.

O CIUnit pode ser baixado no site do oficial do projeto que possui um tutorial muito fácil de ser acompanhado. Apesar de seguir os passos como é dito no site oficial, tive problemas ao executar os teste. Fuçando nos códigos do CIUnit e nas mensagens de erros geradas, descobri que o mapeamento do CIUnit para a pasta de bibliotecas do CodeIgniter está errado.

No arquivo: system\application\libraries\fooStack\fooBase\index.php:


// existe a seguinte atribuição
$application_folder = "../../application";

// o correto seria
$application_folder = "/application";

Um outro arquivo com problemas é o \system\application\tests\CIUnit.php que possui um código comentado que deve ser descomentado:

########################################
# descomente estas linha abaixpo         #
########################################

// $CI->load->library('fooStack/Spyc');
// CIUnit::$spyc = &$CI->spyc;
$CI->load->library('fooStack/Fixture');
CIUnit::$fixture = &$CI->fixture;

É isso ai pessoal! Espero que esta dica seja útil a vocês e caso tenha dito algo errado me corrijam.

26 de julho de 2010

Instalando PEAR no WAMP sobre o windows 7

por adlerparnas

Fala Pessoal!

Meu nome é Adler Parnas e hoje vou falar do da instalação do PEAR no WAMP sobre o Windows 7. Não tenho como objetivo explicar o que é o PEAR nem a instalação do WAMP.

No WAMP 2.0 existe o arquivo C:\wamp\bin\php\php5.3.0\go-pear.bat que é um script para a instalação do PEAR. Entrei no console, fui para a pasta especificada e  executei o arquivo go-pear.bat e encontrei o seguinte erro:


phar "C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar" does not have a signaturePHP Warning:  require_once(phar://go-pear.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236

Warning: require_once(phar://go-pear.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236
Pressione qualquer tecla para continuar. . .

C:\wamp\bin\php\php5.3.0>

No meu caso, a pasta de binários do PHP não estava na variável de ambiente PATH do meu usuário, então quando o script era executado ele não reconhecia o comando php.exe.
A solução que tomei foi editar o arquivo go-pear.bat adicionar um comando que levasse o script a pasta de binários do php:

@ECHO OFF
# esta linha foi adicionada
cd C:\wamp\bin\php\php5.3.0
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 PEAR\go-pear.phar
pause

Quando executei o script pela segunda vez, encontrei o mesmo erro, o que me levou a desconfiar das permissões do meu usuário para executar o script. Então abri o console como administrador e executei o arquivo novamente e tchan!, o mesmo erro aconteceu! Resolvi então copiar e executar o comando que estava no script e ainda sim o mesmo erro ocorria!

Perguntando ao pai dos burros, ele me informou um link para o blog phphints onde existe este comando milagroso:

> cd C:\wamp\bin\php\php5.3.0
> php -d phar.require_hash=0 PEAR/go-pear.phar

Após informar o local onde o PEAR seria instalado, bastou colocar o diretório dos binários do PEAR na variável de ambiente PATH do meu usuário e tudo funcionando.

É isso ai pessoal! Espero que esta dica seja útil a todos os programadores PHP Windows e caso tenha dito algo errado me corrijam!