PHP 8.1.15 Released!

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_createConstructs a new Message Formatter

Descrição

Estilo orientado à objeto (method)

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

Estilo orientado à objeto (constructor):

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

Estilo procedural

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

Constructs a new Message Formatter

Parâmetros

locale

The locale to use when formatting arguments

pattern

The pattern string to stick arguments into. The pattern uses an 'apostrophe-friendly' syntax; see » Quoting/Escaping for details.

Valor Retornado

The formatter object, or null on failure.

Erros

When invoked as constructor, on failure an IntlException is thrown.

Exemplos

Exemplo #1 msgfmt_create() example

<?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 OO example

<?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 irá imprimir:

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

add a note

User Contributed Notes 1 note

up
6
ezarko at synacor dot com
13 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