PHP 5.3 parte 5: Outras melhorias
      Novas funções
Duas novas funções inclusas foram array_replace e array_replace_recursive.
A função array_replace irá atualizar os dados do primeiro array de acordo com os dados dos arrays seguintes. Se uma chave do primeiro array existe no segundo, o valor da chave no primeiro array será atualizado. Caso exista a chave somente no segundo array e não no primeiro, será criado um novo elemento no primeiro array.
A função array_replace_recursive atualiza os elementos da primeira array procurando nos arrays de forma recursiva.
Novos recursos SPL
SPL significa Standard PHP Library. É uma coleção de interfaces e classes com o objetivo de resolver problemas padrões e implementar de uma forma eficiente o acesso à dados de classes e intefaces.
Segue abaixo as classes SPL inclusas no php 5.3:
* SplFixedArray
* SplStack
* SplQueue
* SplHeap
* SplMinHeap
* SplMaxHeap
* SplPriorityQueue
Segue abaixo links onde vocês poderão encontrar mais informações sobre as classes SPLs incluídas na versão 5.3 do php.
http://www.php.net/manual/en/class.splstack.php
http://www.slideshare.net/tobias382/new-spl-features-in-php-53
  
    
    
  Duas novas funções inclusas foram array_replace e array_replace_recursive.
A função array_replace irá atualizar os dados do primeiro array de acordo com os dados dos arrays seguintes. Se uma chave do primeiro array existe no segundo, o valor da chave no primeiro array será atualizado. Caso exista a chave somente no segundo array e não no primeiro, será criado um novo elemento no primeiro array.
A função array_replace_recursive atualiza os elementos da primeira array procurando nos arrays de forma recursiva.
Novos recursos SPL
SPL significa Standard PHP Library. É uma coleção de interfaces e classes com o objetivo de resolver problemas padrões e implementar de uma forma eficiente o acesso à dados de classes e intefaces.
Segue abaixo as classes SPL inclusas no php 5.3:
* SplFixedArray
* SplStack
* SplQueue
* SplHeap
* SplMinHeap
* SplMaxHeap
* SplPriorityQueue
Segue abaixo links onde vocês poderão encontrar mais informações sobre as classes SPLs incluídas na versão 5.3 do php.
http://www.php.net/manual/en/class.splstack.php
http://www.slideshare.net/tobias382/new-spl-features-in-php-53
                  Ótimo post.
      
        24/04/2012 5:53pm
        (~13 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
        (~15 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
        (~15 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
        (~15 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
        (~15 anos atrás)
      
    
