Algumas Diferenças Entre O PHP 4.x E O PHP 5.x

Como sería bom elaborarmos scripts e sistemas e que eles funcionassem em qualquer Sistema Operacional, não?

Infelizmente nossa realidade não é assim; Uma hora o sistema funciona no Windows e no Linux não! Quando em uma versão anterior está ok, na versão seguinte dá tudo errado.

Nas últimas semanas tenho prestado auxílio a alguns programadores e grande parte dos erros (se podemos assim dizer) encontrados, são relacionados a diferença em versão.

Até para ajudar outros Programadores, hoje estaremos dando algumas dicas sobre os principais erros que podem ocorrer entre as versões novas e anteriores do PHP / MySQL.

Erros Em Variáveis

Quem diría? Erros em variáveis?

Você faz tudo certinho e no final seu sistema não funciona!

Quando você usa 2, 3 variáveis, tudo bem; O pior é quando em seu script você está tratando muitas variáveis ao mesmo tempo!

Você já trabalhou com o método POST ou GET?

Antigamente trabalhavamos com a variável a seguir:



Exemplo:

$variavel  = $HTTP_POST_VARS['campo'];

OBS.: Antigamente quando você queria mandar uma variável de um formulário de contato para outro documento (que tratava e enviava o mesmo), podería usar o conteúdo acima sem problema. Hoje em alguns Servidores se você não usa o formato a seguir, ele não funciona.



Exemplo Novo:

$variavel  = $_POST['campo'];

Bem… não são todos os Servidores que rejeitam, mas você corre o risco de ter seu sistema com falhas se não seguir este padrão.

Erros Em Sessões

Um outro problema encontrado refere-se às variáveis de sessão.

Imagine você criando aquele famoso carrinho de compras e durante o acesso do Internauta você tenta controlar as diversas compras através das variáveis de sessão?

Nesta parte também encontramos falhas!

Antigamente trabalhavamos com a variável a seguir:



Exemplo:

$HTTP_SESSION_VARS['variavel1']  = $variavel1;

$HTTP_SESSION_VARS['variavel2']  = variavel2;

Hoje criamos uma sessão da seguinte maneira:



Exemplo Novo:

$_SESSION['variavel1']  = $variavel1;

$_SESSION['variavel2']  = variavel2;

Redirecionamentos

Um outro comando que vem apresentando erros em alguns Servidores é o “header”.

Anteriormente ao termos a necessidade de redirecionar o internauta de uma página para outra, apenas usavamos este comando e ele se encarregava do conteúdo.



Exemplo:

header ("Location: index.php");

Bem… cada um tem seu jeito de programar! Acredito que este comando em JS podería ajudar:



Exemplo Novo:

echo "<script language='javascript'>window.location = '{$_SESSION[pagina]}';</script>";

É apenas um exemplo. Claro que você pode usar outros recursos que lhe sejam mais amigáveis.

Suporte A Sistemas

Alguns dos Sistemas mais usados hoje em dia como o Joomla, OpenX, WordPress (entre outros) também funcionam nas versões PHP 5.x com MySQL 5.x.

Procure utilizar versões estáveis (que estejam de acordo com os padrões de Configuração do Apache.org) e faça seus testes.

Infelizmente temos vários Programas e Sistemas que rodam o Apache, PHP e MySQL, mas que não tem o padrão de segurança e estabilidade fornecido pelas empresas (apenas atendem uma necessidade de quem o fez).

Preste atenção quanto a isso antes de dar andamento ao desenvolvimento de qualquer sistema (principalmente se for de grande porte).

IMPORTANTE:

Os erros acima encontrados e suas soluções, foram baseados em dificuldades de Internautas que estudam os sistemas que postamos no WebMaster.pt e encontraram alguma falha relacionada a diferença de versão.

Com os auxílios que dei através de email, eles conseguiram arrumar o conteúdo e continuar com seus estudos.

Se você testou alguns dos sistemas que criei aqui no webmaster.pt ou de qualquer outro Programador (Seja ele do WebMaster.pt ou de outros sites), caso você encontre algum erro, coloque as instruções acima em ação.

Espero que as dicas acima lhe sejam úteis no dia a dia.

php

Be Sociable, Share!

Participa! Comenta...