novidades php 5.3 e php 6

43
NOVIDADES PHP 5.3 E PHP 6 Bruno Viana - Webdeveloper

Upload: bruno-viana

Post on 22-May-2015

2.396 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Novidades PHP 5.3 e PHP 6

NOVIDADES PHP 5.3 E PHP 6Bruno Viana - Webdeveloper

Page 2: Novidades PHP 5.3 e PHP 6

QUEM?

Page 3: Novidades PHP 5.3 e PHP 6

NO

VIDAD

ES PHP 5.3 E PH

P 6Quem?

Bruno Viana :: [email protected]

DesenvolvedorPHP Zend Certified Engineerhttp://www.tupi.etc.br

Page 4: Novidades PHP 5.3 e PHP 6

PHP 6 = PHP 5 + Unicode

Page 5: Novidades PHP 5.3 e PHP 6

WTF?!?O que é Unicode e por que preciso dele?

Page 6: Novidades PHP 5.3 e PHP 6

mojibake文字化け

Page 7: Novidades PHP 5.3 e PHP 6

Mojibake

Termo japonês para caracteres fantasmas. Usado para descrever problema de caracteres incorretos em softwares.

Page 8: Novidades PHP 5.3 e PHP 6
Page 9: Novidades PHP 5.3 e PHP 6

Unicode• Provê uma numeração única para cada caractere

• Não importa a plataforma

• Não importa o programa

• Não importa a língua

Page 10: Novidades PHP 5.3 e PHP 6

Unicode não é i18n

• Unicode simplifica o desenvolvimento

• Unicode não resolve todos os problemas de internacionalização

Page 11: Novidades PHP 5.3 e PHP 6

Internacionalização :: i18n

• Criação de uma aplicação sem assumir uma única cultura•Mantém uma estrutura eficiente para localização

Localização :: l10n

• Resolve problemas de uma determinada região, cultura ou língua

Page 12: Novidades PHP 5.3 e PHP 6

Localização assume a forma de uma região manipulando:

• Formato de data e hora

• Formato de números e moedas

• Ordenação

• etc...

Page 13: Novidades PHP 5.3 e PHP 6

PHP 6

Page 14: Novidades PHP 5.3 e PHP 6

Suporte a Unicode

• Qualquer canto: engine, extensões, API

• Nativo e completo

Page 15: Novidades PHP 5.3 e PHP 6

Pegue 5 títulos dos feeds de um portal chinês, limpe e gere um JSON

Page 16: Novidades PHP 5.3 e PHP 6

Literais strings serão Unicode

Page 17: Novidades PHP 5.3 e PHP 6

Offsets trabalham com code points

Page 18: Novidades PHP 5.3 e PHP 6

Identificadores Unicode são permitidos

Page 19: Novidades PHP 5.3 e PHP 6

Funções entendem texto UnicodeStrtoupper() e similares

Strip_tags() reconhece os caracteres

Strip_tags() preserva os caracteres corretamente

Page 20: Novidades PHP 5.3 e PHP 6

StreamsCodificação default

Codificação customizada

Page 21: Novidades PHP 5.3 e PHP 6

Text Iterator

• Usado para percorrer pelo texto de forma linear

• Percorre sob code points, caracteres, palavras, linhas indo e voltando

Page 22: Novidades PHP 5.3 e PHP 6

Text Iterator

Percorre caracteres

Resultado

Page 23: Novidades PHP 5.3 e PHP 6

Text Iterator

Percorre de forma reversa

Resultado

Page 24: Novidades PHP 5.3 e PHP 6

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

Page 25: Novidades PHP 5.3 e PHP 6

Transliteração

Page 26: Novidades PHP 5.3 e PHP 6

Text Iterator

Como será o nome da Britney Spears em japones?

Page 27: Novidades PHP 5.3 e PHP 6

Collator :: Comparando strings

compare($str1, $str2) = -1,0,1

côte < coté

Page 28: Novidades PHP 5.3 e PHP 6

Collator :: ordenando strings

sort($array, $flags)asort($array, $flags)sortWithSortKeys($array)

Page 29: Novidades PHP 5.3 e PHP 6

Collator :: peso

setStrength($strength)getStrength()

côte == coté

Page 30: Novidades PHP 5.3 e PHP 6

Formatação de números

NumberFormatter::PATTERN_DECIMAL123456.79 (with ##.##)

NumberFormatter::DECIMAL123456.789

NumberFormatter::CURRENCY$123,456.79

NumberFormatter::PERCENT12,345,679%

Page 31: Novidades PHP 5.3 e PHP 6

Formatação de números

NumberFormatter::SCIENTIFIC1.23456789E5

NumberFormatter::SPELLOUTone hundred and twenty-three thousand, four hundred andfifty-six point seven eight nine

NumberFormatter::ORDINAL123,457th

NumberFormatter::DURATION34:17:37

Page 32: Novidades PHP 5.3 e PHP 6

Formatação de números

format($number [, $type])

Page 33: Novidades PHP 5.3 e PHP 6

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())

Page 34: Novidades PHP 5.3 e PHP 6

Formatação de mensagens

format($args)

Page 35: Novidades PHP 5.3 e PHP 6

Formatação de mensagens

Diferentes localidades

Page 36: Novidades PHP 5.3 e PHP 6

PHP 5.3

Page 37: Novidades PHP 5.3 e PHP 6

Namespaces

• Feito para resolver problemas de escopo

•Muitas discussões sobre o assunto

Page 38: Novidades PHP 5.3 e PHP 6

Namespaces

Definição

Uso

Page 39: Novidades PHP 5.3 e PHP 6

Lambdas e closures

• Funções anônimas

• Captura o escopo

• Familiar para desenvolvedores Javascript

Page 40: Novidades PHP 5.3 e PHP 6

Lambdas e closures

• Exemplo mais complexo

Page 41: Novidades PHP 5.3 e PHP 6

phar

• PHp Arhiver

• PharData = PDO para arquivos tar e zip

• Aplicações encapsuladas

Page 42: Novidades PHP 5.3 e PHP 6

phar

Acessar arquivos encapsulados

Guardar uma aplicação inteira

Page 43: Novidades PHP 5.3 e PHP 6

Previsõe

• PHP 5.3 está previsto para Janeiro

• PHP 6 está previsto para Maio