Quarta-feira, 19 de Março de 2008
1 Star2 Stars3 Stars4 Stars5 Stars (5 votos, média: 5 de 5)
Loading ... Loading ...

O PHP 5.3 esta previsto para ser lançado em abril e traz features que a tornam uma das versões mais aguardas pelos desenvolvedores PHP. Nesse artigo vou listar as principais novidades que foram anunciadas.

Namespaces
Para quem acompanha o desenvolvimento da linguagem, sabe que essa feature é a mais pedida e a mais polemica nas listas de discussão. Originalmente prevista para sair no PHP6, foi adiantada para alegria da galera :). Essa nova versão virá com uma implementação completa de Namespaces, com suporte a autoload e namespaces hierárquicos.

Isso permite aos desenvolvedores organizar melhor o código, evitando conflitos com bibliotecas internas do PHP ou de terceiros e produz um código mais limpo e legível. Essencial para o pessoal que desenvolve frameworks.

Voce agora pode fazer um código assim:

namespace teste;
class minhaClasse {
const COR = 'Azul';
public function executar(){}
}

e usar assim:

$var = teste::minhaClasse::executar();

ou

use teste;
$var = new minhaClasse::executar();

Para mais informações sobre namespaces, visite aqui(em portugues), aqui ou aqui.

Garbage Collector
Esse item me surpreendeu. Agora é possível fazer limpeza da memoria não mais utilizada, reduzindo os problemas como o fatídico “Memory allocation error”. Excelente para quem constrói sistemas de grande porte e esta preocupado com a escalabilidade.
exemplo de funções:

gc_enable(); // Enable Garbage Collector
var_dump(gc_enabled()); // true
var_dump(gc_collect_cycles()); // # of elements cleaned up
gc_disable(); // Disable Garbage Collector

Performance
No geral esta nova versão é 15% mais rápida. Os itens que se destacam é a otimização do acesso a memoria, melhorias no tratamento de exceções e redução das chamas ao sistema pelos métodos require(_once), include(_once).

MySQLnd
Uma das maiores novidades dessa versão é um nova biblioteca para acesso ao Mysql, feita para substituir a atual e desenvolvida pelo próprio pessoal da Mysql especialmente para o PHP.
Entre as vantagens podemos citar:

  • Velocidade de acesso aos dados
  • menor consumo de memoria
  • integração com o PHP e não dependência de driver
  • possibilidade de retornar estatísticas, para otimização de performance

Infelizmente ainda não existe uma versão para PDO pronta

__DIR__
Agora temos um metodo magico para saber em que diretorio o script está.
O que era feito assim:
echo dirname(__FILE__); // < PHP 5.3

agora pode ser feito assim:
echo __DIR__; // >= PHP 5.3

Novo operador ?:
Parecido com o já existente operador ternário, o operador ?: retorna o valor não vazio de 2 expressões.
Exemplo:

$a = true ?: false; // true
$a = false ?: true; // true
$a = "" ?: 1; // 1
$a = 0 ?: 2; // 2
$a = array() ?: array(1); // array(1);
$a = strlen("") ?: strlen("a"); // 1

__callStatic()
Tem a mesma finalidade da função __call para objetos, mas agora para metodos static.

Static Calls
O PHP agora suporta chamadas dinamicas a metodos static
exemplo:

class helper {
static function foo() { echo __METHOD__; }
}
$a = "helper";
$b = "foo";
$a::$b(); // helper::foo

Bibliotecas e outras coisas

  • Melhorias na classe SPL e adição de novos metodos.
  • Adicionada novas funções de manipulação de datas
  • Criada a opção de “profiling” na XSLT
  • um novo HEREDOC chamado NOWDOC que não precisa escapar as variaveis
  • atualizado para o SQLite 3.5.6
  • varias otimizações CGI/FastCGI SAPI

Novo tipo de erro E_DEPRECATED que indica que o método será removido (Preparando para o PHP6)

Conclusão

Com essa nova versão, a equipe de desenvolvimento do PHP mostra que esta preocupada com o chamado “enterprise ready”, criando features solicitadas pelo mercado e preparando o terreno para o PHP6 que deve desembarcar somente na metade de 2009.

Para saber mais:
Entrevista com Andy Gutmans
Roadmap PHP 5.3
Artigo de Gergely Hodicska

Veja Tambem

    None Found


  9 Respostas para “Novidades do PHP 5.3”


> Deixe uma Resposta