novidades php 5.3 e php 6

Post on 22-May-2015

2.396 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

NOVIDADES PHP 5.3 E PHP 6Bruno Viana - Webdeveloper

QUEM?

NO

VIDAD

ES PHP 5.3 E PH

P 6Quem?

Bruno Viana :: brunoviana@noix.com.br

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

PHP 6 = PHP 5 + Unicode

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

mojibake文字化け

Mojibake

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

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

Unicode não é i18n

• Unicode simplifica o desenvolvimento

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

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

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

• Formato de data e hora

• Formato de números e moedas

• Ordenação

• etc...

PHP 6

Suporte a Unicode

• Qualquer canto: engine, extensões, API

• Nativo e completo

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

Literais strings serão Unicode

Offsets trabalham com code points

Identificadores Unicode são permitidos

Funções entendem texto UnicodeStrtoupper() e similares

Strip_tags() reconhece os caracteres

Strip_tags() preserva os caracteres corretamente

StreamsCodificação default

Codificação customizada

Text Iterator

• Usado para percorrer pelo texto de forma linear

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

Text Iterator

Percorre caracteres

Resultado

Text Iterator

Percorre de forma reversa

Resultado

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

Transliteração

Text Iterator

Como será o nome da Britney Spears em japones?

Collator :: Comparando strings

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

côte < coté

Collator :: ordenando strings

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

Collator :: peso

setStrength($strength)getStrength()

côte == coté

Formatação de números

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

NumberFormatter::DECIMAL123456.789

NumberFormatter::CURRENCY$123,456.79

NumberFormatter::PERCENT12,345,679%

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

Formatação de números

format($number [, $type])

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

Formatação de mensagens

format($args)

Formatação de mensagens

Diferentes localidades

PHP 5.3

Namespaces

• Feito para resolver problemas de escopo

•Muitas discussões sobre o assunto

Namespaces

Definição

Uso

Lambdas e closures

• Funções anônimas

• Captura o escopo

• Familiar para desenvolvedores Javascript

Lambdas e closures

• Exemplo mais complexo

phar

• PHp Arhiver

• PharData = PDO para arquivos tar e zip

• Aplicações encapsuladas

phar

Acessar arquivos encapsulados

Guardar uma aplicação inteira

Previsõe

• PHP 5.3 está previsto para Janeiro

• PHP 6 está previsto para Maio

top related