PHP 5.3 parte 5: Outras melhorias
Novos Error Levels
Na versão 5.3 do PHP finalmente E_STRICT faz parte de E_ALL. Agora E_ALL compõe todos errors levels. Nas versões anteriores E_STRICT era um error level separado de E_ALL.
Foram criados dois novos levels: E_DEPREACTED e E_USER_DEPRECATED. E_DEPRECATED alerta sobre funções e recursos que serão descontinuados em versões futuras do PHP, no caso a versão 6 do php. E_USER_DEPRECATED tem a intenção de indicar recursos que serão descontinuados relacionados ao código do usuário.
Algumas fuções que serão descontinuadas em versões futuras: ereg, ereg_replace, split, session_register, session_unregister, etc. Para uma lista completa acesse: http://www.php.net/manual/pt_BR/migration53.deprecated.php
O exemplo abaixo demonstra a utilzação de uma função que será descontinuada da versão 6 do php. Veja o retorno obtido após a execução do script.
c:\php5\error\teste.php:
Resultado:
Na versão 5.3 do PHP finalmente E_STRICT faz parte de E_ALL. Agora E_ALL compõe todos errors levels. Nas versões anteriores E_STRICT era um error level separado de E_ALL.
Foram criados dois novos levels: E_DEPREACTED e E_USER_DEPRECATED. E_DEPRECATED alerta sobre funções e recursos que serão descontinuados em versões futuras do PHP, no caso a versão 6 do php. E_USER_DEPRECATED tem a intenção de indicar recursos que serão descontinuados relacionados ao código do usuário.
Algumas fuções que serão descontinuadas em versões futuras: ereg, ereg_replace, split, session_register, session_unregister, etc. Para uma lista completa acesse: http://www.php.net/manual/pt_BR/migration53.deprecated.php
O exemplo abaixo demonstra a utilzação de uma função que será descontinuada da versão 6 do php. Veja o retorno obtido após a execução do script.
c:\php5\error\teste.php:
<?php echo ereg("[0-9]", "d0uglas");
Resultado:
Deprecated: Function ereg() is deprecated in C:\php5\error\teste.php on line 3 1
Ótimo post.
24/04/2012 5:53pm
(~12 anos atrás)
Vejo em vários sites posts referente a incompatibilidade da nova mysqlnd, porém não bejo a solução, como conectar no mysql 5 usando php 5.3.3.
minha conexão funcionava e agora não tá funcionando mais.
minha conexão funcionava e agora não tá funcionando mais.
15/10/2010 11:27am
(~14 anos atrás)
COMO EU FAÇO PARA PASSAR MEU PHORUM PARA O PORTUGUES?O QUE TENHO QUE FAZER..ONDE TENHO QUE COLOCAR?
ATT
CRIS
ATT
CRIS
06/04/2010 12:53pm
(~14 anos atrás)
Ah, sim! Uma coisa que não me lembro ter visto na sequência de artigos, mas que foi incorporado no PHP 5.3, foi a notação de strings com "nowdoc". Útil para gerar blocos de texto que contenham o símbolo "$" sem precisar escapá-los. Por exemplo, para mostrar um código PHP:
Utilizei ela para fazer um script que gera dinamicamente template de auto-completar do Eclipse.
echo <<<'CODIGOPHP' if ($a > 10) { echo '$a é maior que 10'; } CODIGOPHP;
Utilizei ela para fazer um script que gera dinamicamente template de auto-completar do Eclipse.
22/03/2010 2:50am
(~14 anos atrás)
Douglas, seu artigo ficou muito bom. Parabéns.
Uma coisa com relação a estas novas funcionalidades que eu não gostei foi a definição do uso de mysqlnd por padrão. Para a utilização em novos projetos eu nem acho tão problemático mas já para upgrades pode ser um tormento a falta de divesas funcionalidades existente tanto para mysqli como para PDO_MYSQL principalmente porque agora diversas configurações do PHP interferem diretamente com a execução de instruções no MySQL, como o memory_limit e o default_socket_timeout.
Eu até entendo que eles queriam se livrar de vez do problema da licença mas acho que no manual (em todas as funções que usam mysql) já deveria informar que a partir do 5.3 é preciso prestar atenção a este item já que tem diversos bugs relacionados a esta extensão. (Aquele da entrada ::1 no arquivo hosts do Windows Vista/7 é o pior)
No mais o core está cada vez melhor.
NOTA: O suporte a compressão já está disponível na versão 5.3.2 que saiu dia 4 de março de 2010.
Uma coisa com relação a estas novas funcionalidades que eu não gostei foi a definição do uso de mysqlnd por padrão. Para a utilização em novos projetos eu nem acho tão problemático mas já para upgrades pode ser um tormento a falta de divesas funcionalidades existente tanto para mysqli como para PDO_MYSQL principalmente porque agora diversas configurações do PHP interferem diretamente com a execução de instruções no MySQL, como o memory_limit e o default_socket_timeout.
Eu até entendo que eles queriam se livrar de vez do problema da licença mas acho que no manual (em todas as funções que usam mysql) já deveria informar que a partir do 5.3 é preciso prestar atenção a este item já que tem diversos bugs relacionados a esta extensão. (Aquele da entrada ::1 no arquivo hosts do Windows Vista/7 é o pior)
No mais o core está cada vez melhor.
NOTA: O suporte a compressão já está disponível na versão 5.3.2 que saiu dia 4 de março de 2010.
19/03/2010 10:46pm
(~14 anos atrás)