Tornando-se compatível com o PHP 6

! Esta publicação foi escrita há mais de dois anos. Dificilmente existirão mudanças significativas, mas tenha isso em mente ao lê-la.

Fonte: http://bitfilm.net/2007/09/21/becoming-php-6-compatible/

Prefácio

Desenvolvedores PHP, assim como todos os outros desenvolvedores, desejam que seus códigos sejam o mais compatível possível. Algumas vezes isso envolve olhar pro passado e ver se os scripts possuem retro-compatibilidade. Porém, algumas vezes, temos que olhar para o futuro para ver o que está mudando e entender o que podemos fazer para tornarmo-nos compatíveis.

PHP 6 é a versão mais recente (ainda não lançada) do PHP. Ainda está em desenvolvimento e não será liberada tão cedo. Porém, é importante já irmos considerando as mudanças que tomamos conhecimento até o momento e escrever scripts que serão compatíveis. São pequenas dicas que irão te ajudar a melhorar seus scripts e ainda ganhar uma moral.

Quem já está usando o PHP 5.3 está percebendo as mudanças. Da versão 5.3 pra cima, teremos tudo que estará no PHP 6, a única diferença é o suporte a unicode que ainda não está presente… De resto, será tudo igual (em princípio).

Mão na massa

Se você quiser fazer uso do PHP 6 assim que for lançado, você terá que escrever seus novos scripts para que sejam compatíveis, e possivelmente mudar alguns que já existam. Para começar a montar os seus scripts compativeis com PHP 6, abaixo você confere alguns tópicos com os quais terá que se preocupar daqui pra frente quando estiver programando.

* Não utilize register_globals

No PHP 6 o suporte para register_globals será retirado. Não haverá opção para habilitar ou desabilitar, ou seja, não existirá mesmo! Se você é um bom programador, que segue as boas práticas, não deverá ter problemas, uma vez que já faz tempo que esta diretiva tem sido condenada por entusiastas de todo o mundo. Porém, se você ainda não conhece, a register_globals é uma diretiva que põe todas as variáveis de $_REQUEST com escopo global, assim você poderá acessá-las como se fossem quaisquer outras variáveis. Ao invés disso você deverá usar as boas práticas e retornar os dados assim:

<?php

    $_GET['entrada'];

    $_POST['entrada'];

    $_REQUEST['entrada'];

?>

* Pare de utilizar magic_quotes

Na minha opinião, você deve utilizar essa dica, não importa se está no PHP 3, 4 ou 5. Graças a Deus, no PHP 6, a propriedade magic_quotes irá desaparecer juntamente com a register_globals. Para aqueles que não conhecem, magic_quotes automaticamente escapa () aspas simples, aspas duplas, contra-barras e caracteres NULL.

* Não registre Arrays longas

Se você acessava os dados enviados pelo usuário através de $HTTP_POST_VARS ou $HTTP_GET_VARS, é melhor parar agora. Ao invés disso, você deveria utilizar as superglobais $_SERVER, $_COOKIE, $_GET, $_POST, $_FILES, etc…

* preg ao invés de ereg

Se você está usando as funções ereg para trabalhar com expressões regulares, então você deveria começar a usar preg. ereg não estará mais disponível no core do PHP 6.

* Não inicialize objetos com operador de referência

Se você estava inicializando objetos com com operador de referência, então está na hora de parar. Isso irá gerar um erro do tipo E_STRICT no PHP 6.

<?php
    $a = & new objeto(); // Não faça isso
    $a = new objeto(); // Faça assim no PHP 6
?>

Conclusão

A migração sempre às vezes é difícil, mas ir alterando os scripts aos pouquinhos ajuda a tornar este processo menos doloroso.

Espero que as dicas tenham sido úteis e que possam utilizar em breve nos seus scripts!

Um abraço a todos e fiquem com Deus.
Rafael Jaques

12 respostas para “Tornando-se compatível com o PHP 6”

  1. André disse:

    Buenas Rafa, muito bom o Post, ano passado na ConaPHP em SP vi a palestra de um dos desenvolvedores Core do PHP, o Andrei Zmievski (http://gravitonic.com/), onde ele falou muito das transições que ocorreram até o PHP6, e que na real isso tudo vai acontecer antes, provavelmente na versão 5.3 e depois… para na versão 6 implementarem tudo em Unicode, estou ancioso!

    Abraço

  2. fabiov3 disse:

    Rapaz eu infelizmente ainda uso erege. Ate que minha dor de cabeça n vai ser tão grande assim…

  3. André G disse:

    =D muito bom o post, coloquei um post sobre o assunto em meu blog http://www.programei.org/index.php/14/10/2009/nov

    mais gostei de seus exemplos…

  4. Creio que existam muitas coisas a serem analisadas no PHP 6, considerando que no PHP 5.3 muitas coisas foram removidas, marcadas como obsoletas ou modificadas, no PHP 6 há muita incompatibilidade a ser modificada nos códigos atuais.

  5. Luiz Henrique disse:

    Muito bom!!! Obrigado =)

  6. Mayco H. disse:

    Primeiramente meus cumprimentos as pessoas deste blog e deste post.

    Sou formado em Ciência da Computação e trabalho com web a um bom tempo, com PHP à 5 anos. Claro que começei também com scripts simples e descobrindo o que a linguagem poderia me oferecer de bom. Mas a evolução é um processo natural e é muito bom, quem nunca aprendeu um recurso novo de uma linguagem e ficou contente com isso??

    Evoluir na linguagem significa alcançar novos mercados, porque podemos desenvolver aplicações melhoradas, mais robustas e que sejam mais faceis de serem modificadas, gerenciadas e principalmente modeladas usando técnicas de Engenharia de Software, sendo assim a evolução do para a versão 6 é um passo muito importante e bom!

    Como ser humano, ninguem vai ficar parado no tempo e deixar de evoluir ou de buscar novas formas de programar, mesmo os novatos estão ai também para acompanhar e se desenvolverem com os novos recursos e os mais experientes também querem mais, porque eu e como todos num geral, não gosto de aprender algo e fazer sempre o mesmo isso é caminha em circulo, queremos sempre melhorar algo nem que seja simples e isso com certeza só traz beneficios, porque você abre a mente para novos temas, resolve problemas que não imaginava resolver e isso tudo retorna em um diferencial de mercado fazendo tanto com que a linguagem ganhe mais destaque como também o próprio programador seja mais valorizado, isso reflete em resultados pessoais e para que as empresas ganhem qualidade também.

    De forma resumida pensando também no lado empreendedor, essa evolução só tem a agregar mais valor nos softwares desenvolvidos colocando caracteristicas diferenciadas no mercado e consequentemente retornando mais lucros a empresa e elevando seu potêncial com a linguagem.

    A outros aspectos mais importantes que podem ser complementados para este post do que ficar apenas criticando a linguagem que este se tornando melhor ainda.

    [Pense nisso!]

    Um abraço a todos da nossa área e deste post.

    [Mayco H.]

  7. Angelito M. Goulart disse:

    Otimo post. :)

    Parabens!

  8. cleverson disse:

    Parabens pelo post!!!!

  9. Cara,

    Excelente dica para o pessoal, eu venho usando isso tudo ai, então acredito que o php 6 vai chegar e eu nem chegarei sentir rsrsrs

  10. Felipe disse:

    E a orientação a objetos ? finalmente teremos um .class ?

Deixe uma resposta