Atualizamos todos os servidores de hospedagem compartilhada, revenda e servidores utilizados para fins institucionais da BSRSot, assim como para sistemas que mantemos (Windows e Linux) para rodarem com o novíssimo PHP 5.3.1.
Estamos encorajando todos os clientes de servidores dedicados e VPS a fazerem o mesmo.
Para contratar nossos serviços e aproveitar todos os benefícios técnicos nossos, fora nosso atendimento ao cliente e nossos ótimos preços, por favor acesse: http://bsrsoft.com.br
Algumas caracteristicas da nova plataforma PHP adotada oficialmente pela BSRSoft:
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.
Fonte: http://www.php-zine.net/2008/03/19/novidades-do-php-53/