Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Características do PHP 5.4: você deve fazer a atualiz

Recommended Posts

O PHP 5.4 foi lançado depois de muitos meses de desenvolvimento e testes. Este artigo dará uma breve descrição das características da nova versão e falará sobre os critérios que você pode seguir para decidir se e quando deve atualizar para a nova versão.

 

Características do PHP 5.4

O PHP 5.4.0 foi lançado no início deste mês e é o resultado de muitos meses de desenvolvimento.

Vários recursos foram propostos para esta versão. Agora você pode estar se perguntando quais são as características que são realmente interessantes. Deixa eu te falar mais sobre algumas delas .

 

Traits

 

O PHP não suporta herança múltipla. Isso significa que, ao contrário de linguagens como C++, não é possível criar uma classe herdando o comportamento de outras classes múltiplas.

 

No entanto, o PHP implementa o suporte para ter classes com interfaces múltiplas desde a versão 5. Essa é uma abordagem simples inspirada no Java que evita os problemas de ambiguidade na implementação de herança múltipla C++.

 

O problema de usar herança múltipla ou interfaces múltiplas é que se torna fácil a criação de classes inchadas que possuem muito mais funções herdadas do que elas precisam realmente na prática.

 

Traits proporcionam uma alternativa mais simples. Você pode definir um trait praticamente da mesma maneira como define uma classe ou uma interface com qualquer função que precisar. Então use-os em uma nova classe, na qual deseja ter essas funções.

 

Aqui está um exemplo tirado do documento original da proposta RFC:

<?php

 

trait ezcReflectionReturnInfo {

function getReturnType() { /*1*/ }

function getReturnDescription() { /*2*/ }

}

 

class ezcReflectionMethod extends ReflectionMethod {

use ezcReflectionReturnInfo;

/* ... */

}

 

class ezcReflectionFunction extends ReflectionFunction {

use ezcReflectionReturnInfo;

/* ... */

}

 

?>

WebServer embutido

 

Embora o Apache venha perdendo popularidade nos últimos anos para WebServers mais eficientes em uso em ambientes de produção, ainda é muito popular entre os desenvolvedores PHP que o utilizam para testar seus aplicativos em seus ambientes de desenvolvimento.

 

No entanto, o Apache ainda é muito pesado e complicado de se configurar, especialmente quando você só quer configurá-lo para um ambiente de desenvolvimento simples. Então, o PHP 5.4 introduz um WebServer que vem embutido na versão de linha de comando PHP.

 

Isso significa que você só precisa executar um comando PHP simples e terá um WebServer rodando pronto para você testar seus aplicativos, sem depender de configurar o Apache ou qualquer outro WebServer externo.

 

Outro objetivo interessante desse WebServer embutido é que você pode desenvolver aplicativos baseados em navegador que rodam na máquina local e você só precisa da base de instalação PHP para isso.

 

Aqui está um exemplo de comando de como executar o PHP para funcionar como um WebServer.

 

$ php -S localhost:8000

 

Server is listening on localhost:8000... Press CTRL-C to quit.

[Thu Mar 3 05:42:06 2011] ::1:56258: /

[Thu Mar 3 05:42:06 2011] ::1:56259: /?=PHPE9568F34-A769-00AA02

[Thu Mar 3 05:42:06 2011] ::1:56260: /?=PHPE9568F35-A769-00AA04

Notação binária para valores inteiros

 

Quando você precisar usar valores literais no seu código PHP, pode representá-los em hexadecimal decimal, ou octal. Agora, no PHP 5.4, você pode também representá-los em binário.

 

Em octal, você precisa prefixar o valor com um 0. Por exemplo, 010 representa o número 8, não 10, como alguns podem esperar. Em hexadecimal, você precisaria prefixar os valores com 0x - por exemplo, 0x12 representa o número 18. Em binário, você precisa prefixar o número com 0b - por exemplo, 0b101 representa o número 5.

 

Sintaxe de matriz curta

 

A popularidade do JSON o tornou um formato comum para troca de dados serializados entre o código eventualmente escritos em diferentes linguagens.

 

Uma diferença básica entre o JSON e o formato de valor literal PHP é que os arrays são representados por colchetes em vez da construção da matriz habitual (). Algumas pessoas propuseram adicionar suporte para uma sintaxe mais curta semelhante ao JSON. A proposta não foi aprovada por muitos desenvolvedores do núcleo do PHP, mas vários usuários votaram a favor. Portanto, agora é possível definir um array como este:

 

$a = [1, 2, 3];

$b = ['foo': 'orange', 'bar': 'apple', 'baz': 'lemon'];

Recursos descontinuados

Algumas versões do PHP suspenderam características antigas. Isso acontece especialmente em versões mais importantes como esta. Geralmente, os recursos são suspendidos após terem sido considerados obsoletos nas versões anteriores.

 

No PHP 5.4, o magic quotes é um recurso que foi suspenso. É usado para ser ativado se você tiver algumas opções definidas no arquivo php.ini.

 

Ele foi criado para escapar valores para utilização em consultas SQL automaticamente. O problema é que o uso desse recurso fez componentes PHP de terceiros não confiáveis, já que seria preciso verificar se a opção foi criada para determinar se eles precisam escapar os valores para usar consultas SQL.

 

Além disso, o valor literal correto para escapar depende do banco de dados no qual você está se conectando. Por isso, é mais confiável ter as opções magic quotes desativadas e escapar os valores explicitamente, eventualmente, usando as funções de banco de dados específicas para essa finalidade, como mysql_real_escape_string ().

 

Funcionalidades deixadas de fora

Muitos recursos foram propostos para o PHP 5.4, mas não foram todos feitos para essa versão, seja porque não foram aprovados pelos desenvolvedores do núcleo, ou seus proponentes não os desenvolveram o suficiente para colocá-los no lançamento. Aqui estão algumas das características mais importantes que não fazem parte do PHP 5.4.

 

Extensão de cache APC

 

O PHP compila o código em opcodes Zend antes de executar. Isso faz com que o PHP rode muito mais rápido do que quando era uma linguagem interpretada antes dos dias do PHP 4.

 

No entanto, o processo de compilação opcode ainda consome uma quantidade significativa de tempo, especialmente se o seu código utiliza um monte de scripts de componentes externos. Essa sobrecarga pode ser evitada se você usar uma extensão de cache. Se estiver usando PHP em WebServer ocupado, é obrigatório utilizar uma extensão caching opcode.

 

Existem muitas extensões de cache. Algumas são de código aberto, outras são comerciais. APC é uma extensão de cache de código aberto desenvolvido por vários desenvolvedores core do PHP.

 

Apesar da importância do uso de uma extensão opcode cache, no PHP 5.4.0, a APC ainda não é enviado na distribuição principal do PHP.

 

Inicialmente, foi planejado para fazê-lo no PHP 6, mas os planos originais para esse grande lançamento foram cancelados. Em seguida, ele foi antecipado para o PHP 5.4, mas, pelo menos para o PHP 5.4.0, foi alegado que a APC não está pronta para essa versão.

 

Essa não é uma boa notícia para PHP. Frequentemente, vemos referência à linguagem PHP comparando-a com outras linguagens utilizadas na Internet. Muitas vezes, a instalação do PHP utilizada nos benchmarks está sendo executada sem um opcode cache, enquanto que as outras linguagens usam seus próprios mecanismos de cache.

 

É uma comparação injusta, mas muitas pessoas não sabem desses detalhes, então elas acreditam que o PHP é muito mais lento. PHP muitas vezes parece estar perdendo porque os valores de referência não são feitos com PHP sendo executado com uma extensão de cache.

 

Anotações

 

Anotações são uma forma de adicionar metadados ao seu código. As informações de metadados podem ser utilizadas por essas ferramentas, por exemplo, para produzir código de suporte adicional para que você não tenha que escrever tal código manualmente. Um uso comum é gerar um código PHP ou instruções SQL para mapear dados entre objetos de classes e tabelas de banco de dados.

 

Havia várias propostas para implementar anotações em PHP, muito semelhantes à maneira como eles trabalham em outras linguagens, como Java e C #. Essas propostas acabaram não sendo aceitas ou totalmente implementadas para fazer parte do PHP 5.4.

 

Ainda assim, existem abordagens alternativas que consistem em separar ferramentas de anotação analisadoras que extraem anotação metadados de comentários PHP.

 

Devo atualizar para o PHP 5.4?

Agora você pode estar se perguntando se vale a pena fazer o upgrade para o PHP 5.4. Aqui estão alguns conselhos que você pode querer levar em consideração. Algumas das recomendações são tão óbvias, que talvez realmente não precisam ser dadas, mas isso será feito para você ter certeza de que esse é apenas o senso comum.

 

Não, se você realmente não precisa de novos recursos

 

É uma opinião unânime nunca mexer no time que está ganhando. Se você olhou para os recursos do PHP 5.4 e não encontrou algo em que pode estar interessado em usar, simplesmente não se preocupe em atualizar.

 

Se você insistir só porque quer estar no topo da última onda, as chances são de que o seu código PHP pode dar problema devido às mudanças das quais você não estava ciente.

 

Não, se você precisar de extensões não suportadas

 

Se você precisa de algumas extensões que não vêm embutidas no PHP, como por exemplo uma extensão de cache, como mencionado acima, as chances são de que essas extensões podem ainda não estar prontas para essa nova versão.

 

Assim, é aconselhável não atualizar pelo menos até que elas sejam atualizadas para trabalhar com o PHP 5.4, ou talvez não atualizar tudo até que haja extensões de reposição para os mesmos fins.

 

Dê-lhe algum tempo

 

Eu sempre digo: novas versões, novos bugs. Isso significa que é praticamente garantido que essa nova versão terá bugs que podem quebrar seu código.

 

Apesar de todos os testes pelos quais o PHP 5.4 passou, há sempre erros que só serão encontrados depois que as pessoas começarem a experimentá-lo.

 

Os bugs mais óbvios são corrigidos logo. Então, se você está realmente decidido a atualizá-lo na produção, seja sábio e aguarde um tempo, talvez pelo menos um mês. Isso dará tempo para os desenvolvedores do núcleo corrigirem os erros mais marcantes.

 

Experimente-o em seu ambiente de desenvolvimento

 

Mesmo se você não atualizar, nada deve impedi-lo de usar o PHP 5.4 em seu ambiente de desenvolvimento. Na pior das hipóteses, em caso de quebra de seu código, você pode sempre fazer o downgrade sem afetar o público do seu site, porque somente você ou sua equipe deverão usar essa versão de desenvolvimento.

 

Além disso, com o suporte da nova versão para fazer o PHP 5.4 trabalhar como WebServer, você não precisa desinstalar uma versão mais antiga que esteja usando. Basta executá-la na linha de comando e ver se tudo funciona.

 

Conclusões

É sempre bom para a sua comunidade ver uma nova versão do seu produto - no caso, o PHP - ser lançada, pois isso mostra bons sinais de vitalidade do desenvolvimento dessa linguagem. Se você irá usar a nova versão ou não, aí já é outra história.

 

Em qualquer caso, parabéns a Stas Malishev, Soria David Parra (os gerentes de lançamento) e todos os outros desenvolvedores envolvidos na liberação dessa versão do PHP. Gostando dela ou não, é sempre uma tarefa não-trivial que requer muita competência para montar uma nova versão de uma linguagem tão popular como o PHP. Parabéns a todo mundo que deu o seu melhor para dar vida ao PHP 5.4.

 

Então, e você? Gostou das funcionalidades da nova versão? Pretende usá-la? Tem um critério diferente para decidir do que os apresentados acima? Que outros recursos não mencionados neste artigo você achou relevante? Sinta-se livre para postar um comentário dando seus pontos de vista sobre o assunto.

 

?

Texto original disponível em http://www.PHPclasses.org/blog/post/173-PHP-54-Features-Shall-you-Upgrade-to-the-newer-PHP-Version.html

 

 

 

 

 

 

 

 

 

http://imasters.com.br/artigo/23882/php/caracteristicas-do-php-54-voce-deve-fazer-a-atualizacao-para-a-versao-mais-recente

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.