Sim! A HOSTSYS oferece o PHP 5.3

Nenhum Comentário

Algumas caracteristicas do PHP 5.3

Namespaces

Para quem acompanha o desenvolvimento da linguagem, sabe que essa característica é a mais pedida e a mais polêmica nas listas de discussão. Originalmente prevista para sair no PHP6, foi adiantada para alegria da galera. Essa nova versão traz 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.

Você 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();

Garbage Collector

Esse item é surpreendente. Agora é possível fazer limpeza da memória 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 memória, 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 memória
Integração com o PHP e não dependência de driver
Possibilidade de retornar estatísticas, para otimização de performance

__DIR__

Agora temos um método mágico para saber em que diretório 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 métodos static.

Static Calls
O PHP agora suporta chamadas dinâmicas a métodos 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 métodos.
  • 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
  • Várias otimizações CGI/FastCGI SAPI
  • Novo tipo de erro E_DEPRECATED que indica que o método será removido (Preparando para o PHP6)

Fonte das novidades do PHP 5.3: www.php-zine.net