Novidades PHP 5.3 e PHP 6

2,552 views
2,469 views

Published on

Apresentação realizada dia 25 de Outubro de 2008 no Seminário PHP realizado no Instituto Audy Mentor, Fortaleza - CE.

Por Bruno Viana.

Published in: Technology

Novidades PHP 5.3 e PHP 6

  1. 1. NOVIDADES PHP 5.3 E PHP 6 Bruno Viana - Webdeveloper
  2. 2. QUEM?
  3. 3. NOVIDADES PHP 5.3 E PHP 6 <ul><li>Quem? </li></ul>Bruno Viana :: brunoviana@noix.com.br Desenvolvedor PHP Zend Certified Engineer http://www.tupi.etc.br
  4. 4. PHP 6 = PHP 5 + Unicode
  5. 5. WTF?!? O que é Unicode e por que preciso dele?
  6. 6. mojibake 文字化け
  7. 7. Mojibake Termo japonês para caracteres fantasmas. Usado para descrever problema de caracteres incorretos em softwares.
  8. 9. <ul><li>Unicode </li></ul><ul><li>Provê uma numeração única para cada caractere </li></ul><ul><li>Não importa a plataforma </li></ul><ul><li>Não importa o programa </li></ul><ul><li>Não importa a língua </li></ul>
  9. 10. <ul><li>Unicode não é i18n </li></ul><ul><li>Unicode simplifica o desenvolvimento </li></ul><ul><li>Unicode não resolve todos os problemas de internacionalização </li></ul>
  10. 11. <ul><li>Internacionalização :: i18n </li></ul><ul><li>Criação de uma aplicação sem assumir uma única cultura </li></ul><ul><li>Mantém uma estrutura eficiente para localização </li></ul><ul><li>Localização :: l10n </li></ul><ul><li>Resolve problemas de uma determinada região, cultura ou língua </li></ul>
  11. 12. <ul><li>Localização assume a forma de uma região manipulando: </li></ul><ul><li>Formato de data e hora </li></ul><ul><li>Formato de números e moedas </li></ul><ul><li>Ordenação </li></ul><ul><li>etc... </li></ul>
  12. 13. PHP 6
  13. 14. <ul><li>Suporte a Unicode </li></ul><ul><li>Qualquer canto: engine, extensões, API </li></ul><ul><li>Nativo e completo </li></ul>
  14. 15. Pegue 5 títulos dos feeds de um portal chinês, limpe e gere um JSON
  15. 16. Literais strings serão Unicode
  16. 17. Offsets trabalham com code points
  17. 18. Identificadores Unicode são permitidos
  18. 19. Funções entendem texto Unicode Strtoupper() e similares Strip_tags() reconhece os caracteres Strip_tags() preserva os caracteres corretamente
  19. 20. Streams Codificação default Codificação customizada
  20. 21. <ul><li>Text Iterator </li></ul><ul><li>Usado para percorrer pelo texto de forma linear </li></ul><ul><li>Percorre sob code points, caracteres, palavras, linhas indo e voltando </li></ul>
  21. 22. Text Iterator Percorre caracteres Resultado
  22. 23. Text Iterator Percorre de forma reversa Resultado
  23. 24. Text Iterator Trunca o texto através de um limite de palavras Retorna as 2 últimas sentenças do texto Retorna tudo dentro de um determinado limite
  24. 25. Transliteração
  25. 26. Text Iterator Como será o nome da Britney Spears em japones?
  26. 27. Collator :: Comparando strings compare($str1, $str2) = -1,0,1 côte < coté
  27. 28. Collator :: ordenando strings sort($array, $flags) asort($array, $flags) sortWithSortKeys($array)
  28. 29. Collator :: peso setStrength($strength) getStrength() côte == coté
  29. 30. Formatação de números NumberFormatter::PATTERN_DECIMAL 123456.79 (with ##.##) NumberFormatter::DECIMAL 123456.789 NumberFormatter::CURRENCY $123,456.79 NumberFormatter::PERCENT 12,345,679%
  30. 31. Formatação de números NumberFormatter::SCIENTIFIC 1.23456789E5 NumberFormatter::SPELLOUT one hundred and twenty-three thousand, four hundred and fifty-six point seven eight nine NumberFormatter::ORDINAL 123,457th NumberFormatter::DURATION 34:17:37
  31. 32. Formatação de números format($number [, $type])
  32. 33. Formatação de mensagens Precisamos de: Today is November 21, 2007. Forma normal no PHP: date(‘F d, Y’) MessageFormat usará o padrão: Today is {0,date}. Argumento: array(time())
  33. 34. Formatação de mensagens format($args)
  34. 35. Formatação de mensagens Diferentes localidades
  35. 36. PHP 5.3
  36. 37. <ul><li>Namespaces </li></ul><ul><li>Feito para resolver problemas de escopo </li></ul><ul><li>Muitas discussões sobre o assunto </li></ul>
  37. 38. Namespaces Definição Uso
  38. 39. Lambdas e closures <ul><li>Funções anônimas </li></ul><ul><li>Captura o escopo </li></ul><ul><li>Familiar para desenvolvedores Javascript </li></ul>
  39. 40. Lambdas e closures <ul><li>Exemplo mais complexo </li></ul>
  40. 41. phar <ul><li>PH p Ar hiver </li></ul><ul><li>PharData = PDO para arquivos tar e zip </li></ul><ul><li>Aplicações encapsuladas </li></ul>
  41. 42. phar Acessar arquivos encapsulados Guardar uma aplicação inteira
  42. 43. Previsõe <ul><li>PHP 5.3 está previsto para Janeiro </li></ul><ul><li>PHP 6 está previsto para Maio </li></ul>

×