PHP Conference Nagoya 2025

MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_createConstrói um novo formatador de mensagem

Descrição

Estilo orientado a objetos (method)

public static MessageFormatter::create(string $locale, string $pattern): ?MessageFormatter

Estilo orientado a objetos (construtor):

public MessageFormatter::__construct(string $locale, string $pattern)

Estilo procedural

msgfmt_create(string $locale, string $pattern): ?MessageFormatter

Constrói um novo formatador de mensagem.

Parâmetros

locale

A localidade a ser utilizada ao formatar argumentos

pattern

A string com o modelo para formatar os argumentos. O modelo usa uma sintaxe adequada para tratar apóstrofos/aspas; consulte » Aspas/Escape para detalhes.

Valor Retornado

O formatador do tipo object, ou null em caso de falha.

Erros/Exceções

Quando invocado como construtor, em caso de falha uma exceção IntlException é lançada.

Exemplos

Exemplo #1 Exemplo de msgfmt_create()

<?php
$fmt
= msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo
msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo
msgfmt_format($fmt, array(4560, 123, 4560/123));
?>

Exemplo #2 Exemplo OO

<?php
$fmt
= new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree");
echo
$fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum");
echo
$fmt->format(array(4560, 123, 4560/123));
?>

O exemplo acima produzirá:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
3
ezarko at synacor dot com
15 years ago
Beware: passing an empty string for format returns null, not a formatter which returns empty strings.

$ php -r "print_r(new MessageFormatter('en_US',' '));"
MessageFormatter Object
(
)
$ php -r "print_r(new MessageFormatter('en_US',''));"
To Top