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',''));"
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_create — Constrói um novo formatador de mensagem
Estilo orientado a objetos (method)
Estilo orientado a objetos (construtor):
Estilo procedural
Constrói um novo formatador de mensagem.
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.
O formatador do tipo object, ou null
em caso de falha.
Quando invocado como construtor, em caso de falha uma exceção IntlException é lançada.
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
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',''));"