Sim! A HOSTSYS oferece o PHP 5.3
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:
class minhaClasse {
const COR = ‘Azul’;
public function executar(){}
}
e usar assim:
ou
$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:
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:
agora pode ser feito assim:
Novo operador ?:
Parecido com o já existente operador ternário, o operador ?: retorna o valor não vazio de 2 expressões.
Exemplo:
$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:
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)
Nenhum comentário