sync with en rev

This commit is contained in:
Leonardo Lara Rodrigues
2025-11-04 18:29:39 -03:00
parent 0d70ce9606
commit 452d861bfb
20 changed files with 2384 additions and 1080 deletions

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: a63b9c754188b610fe1916404831aa9f1b41efbf Maintainer: leonardolara Status: ready --><!-- CREDITS: ae,thiago,AlexAntonio,royopa,lcobucci,fabioluciano,adiel,geekcom,ABDALAZARD,leonardolara -->
<!-- EN-Revision: 170b6cda37f29c39b9e08375344c5eb9523b2de3 Maintainer: leonardolara Status: ready --><!-- CREDITS: ae,thiago,AlexAntonio,royopa,lcobucci,fabioluciano,adiel,geekcom,ABDALAZARD,leonardolara -->
<appendix xml:id="reserved" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Lista de Palavras Reservadas do PHP</title>
@@ -519,40 +519,48 @@
<tgroup cols="4">
<tbody>
<row>
<entry>
parent
</entry>
<entry>
self
</entry>
<entry>
int
</entry>
<entry>
float
</entry>
</row>
<row>
<entry>
bool
</entry>
<entry>
string
</entry>
</row>
<row>
<entry>
true
</entry>
<entry>
false
</entry>
</row>
<row>
<entry>
null
</entry>
<entry>
void (a partir do PHP 7.1)
</entry>
</row>
<row>
<entry>
iterable (a partir do PHP 7.1)
</entry>
<entry>
object (a partir do PHP 7.2)
</entry>
</row>
<row>
<entry>
mixed (a partir do PHP 8.0)
</entry>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 1fd637525fd3bbaec04f6fff80eeb33fce880b10 Maintainer: ae Status: ready --><!-- CREDITS: thomasgm,ae,adiel,leonardolara -->
<!-- EN-Revision: 876557ae38f6ca5035618f7cea48ca627118b437 Maintainer: leonardolara Status: ready --><!-- CREDITS: thomasgm,ae,adiel,leonardolara -->
<chapter xml:id="tutorial" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<info><title>Um simples tutorial</title></info>
@@ -16,52 +16,15 @@
as páginas HTML comuns são criadas.
</para>
<section xml:id="tutorial.requirements">
<info><title>O que eu preciso?</title></info>
<para>
Neste tutorial nós presumimos que seu servidor tem suporte ao PHP
ativado e que todos os arquivos terminando com a extensão <filename class="extension">.php</filename>
são tratados pelo PHP. Na maioria dos servidores esta é a extensão padrão
para os arquivos PHP, mas pergunte ao administrador do seu servidor para ter certeza. Se
o seu servidor suporta PHP, você não precisa fazer mais nada. Apenas
crie seus arquivos <filename class="extension">.php</filename>, coloque-os no seu
diretório web e o servidor irá automaticamente interpretá-los para você.
Não há necessidade de compilar nada nem de instalar
qualquer ferramenta extra. Pense nesses arquivos PHP como simples arquivos HTML
com uma nova família de etiquetas mágicas que permitem que você faça todo
tipo de coisas.
</para>
<para>
Digamos que você queira salvar sua preciosa conexão e desenvolver tudo localmente.
Neste caso, você precisará instalar um servidor web, como o
<link xlink:href="&url.apache;">Apache</link> e, é claro, o
<link xlink:href="&url.php.downloads;">PHP</link>. Você provavelmente também
deseja instalar um banco de dados, como por exemplo o
<link xlink:href="&url.mysql.docs;">MySQL</link>.
</para>
<para>
Você pode instalá-los separadamente ou de uma forma mais simples. Nosso
manual contém <link linkend="install">instruções de instalação do
PHP</link> (supondo que você já tem um servidor web configurado). Se
você tiver problemas com a instalação do PHP, sugerimos que pergunte
em nossa <link xlink:href="&url.php.mailing-lists;">lista de discussão sobre
assuntos de instalação.</link>. Se preferir uma rota mais simples,
<link xlink:href="&url.installkits;">veja um pacote pré-configurado</link>
para o seu sistema operacional que automaticamente instalará tudo
com apenas alguns cliques. É fácil instalar um servidor web com suporte
ao PHP em qualquer sistema operacional, incluindo MacOSX, Linux e Windows.
No Linux, você verá que <link xlink:href="&url.rpmfind;">rpmfind</link> e
<link xlink:href="&url.rpmfind.pbone;">PBone</link> são úteis para
localizar RPMs. Você também pode usar o <link
xlink:href="&url.apt-get;">apt-get</link> para localizar pacotes para o Debian.
</para>
</section>
<section xml:id="tutorial.firstpage">
<info><title>Sua primeira página PHP</title></info>
<simpara>
Este tutorial assume que o PHP já está instalado.
Instruções de instalação podem ser encontradas na
<link xlink:href="&url.php.downloads;">página de download</link>.
</simpara>
<para>
Crie um novo arquivo chamado <filename>hello.php</filename> e coloque-o
no diretório raiz do seu servidor web (<varname>DOCUMENT_ROOT</varname>)
Crie um novo arquivo chamado <filename>hello.php</filename>
com o seguinte conteúdo:
</para>
<para>
@@ -74,16 +37,24 @@
echo "Olá, Mundo!";
?>
]]>
</programlisting>
<simpara>
Usando o terminal, navegue até o diretório contendo este arquivo e
inicie o servidor de desenvolvimento com o seguinte comando:
</simpara>
<programlisting role="shell">
<![CDATA[
php -S localhost:8000
]]>
</programlisting>
<simpara>
Use um navegador para acessar o arquivo com a URL do servidor web, terminando
com a referência ao arquivo <literal>/hello.php</literal>. Quando o desenvolvimento for local esta
URL será algo como <literal>http://localhost/hello.php</literal>
ou <literal>http://127.0.0.1/hello.php</literal> mas isso depende da
configuração do servidor web. Se tudo estiver configurado corretamente, este
arquivo será interpretado pelo PHP e a mensagem "Olá, Mundo!" será mostrada no
navegador.
com a referência ao arquivo <literal>/hello.php</literal>.
De acordo com o último comando executado, a URL será
<literal>http://localhost:8000/hello.php</literal>.
Se tudo estiver configurado corretamente, este arquivo será interpretado pelo PHP
e a mensagem "Olá, Mundo!" será mostrada no navegador.
</simpara>
<simpara>
O PHP pode ser incorporado em uma página HTML normal. Isso significa que dentro do documento HTML
@@ -130,20 +101,7 @@ echo "Olá, Mundo!";
para repassar ao PHP. Pense nisso como um arquivo HTML normal que por acaso possui
um conjunto de etiquetas especiais disponíveis para você fazer muitas coisas interessantes.
</para>
<para>
Se você tentar rodar este exemplo e ele não mostrar nenhuma mensagem de saída, ou aparecer uma caixa de diálogo pedindo para você
salvar o arquivo, ou você ver todo o conteúdo do arquivo como texto, há uma grande chance do seu
servidor não ter o PHP habilitado ou não estar configurado corretamente.
Peça ao seu administrador para habilitar o PHP para você usando o
capítulo de <link linkend="install">Instalação</link>
do manual. Se você está desenvolvendo localmente, leia também o
capítulo de instalação indicado acima para ter certeza de que configurou tudo
corretamente. Confirme que está acessando o arquivo via HTTP através
do servidor web. Se acessar o arquivo através do sistema de
arquivos, então ele não será interpretado pelo PHP. Caso o problema persista,
não hesite em nos chamar nos vários
<link xlink:href="&url.php.support;">canais de suporte do PHP</link>.
</para>
<para>
O objetivo do exemplo é mostrar o formato especial das etiquetas do PHP.
Neste exemplo nós usamos <literal>&lt;?php</literal> para indicar que
@@ -206,7 +164,11 @@ echo "Olá, Mundo!";
<info><title>Como obter informações sobre o PHP</title></info>
<programlisting role="php">
<![CDATA[
<?php phpinfo(); ?>
<?php
phpinfo();
?>
]]>
</programlisting>
</example>
@@ -242,7 +204,9 @@ echo "Olá, Mundo!";
<programlisting role="php">
<![CDATA[
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
]]>
</programlisting>
@@ -283,9 +247,11 @@ Mozilla/5.0 (Linux) Firefox/112.0
<programlisting role="php">
<![CDATA[
<?php
if (str_contains($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {
echo 'Você está usando o Firefox.';
}
?>
]]>
</programlisting>

View File

@@ -1,77 +1,210 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: eac9eff7b66d8c2b168c25c72de0422126daf8cb Maintainer: leonardolara Status: ready --><!-- CREDITS: lcobucci, fabioluciano, geekcom, lhsazevedo, marcosmarcolin, leonardolara -->
<!-- EN-Revision: 147b80d1974b969caad1db188a48f4bcd90f5eb8 Maintainer: leonardolara Status: ready --><!-- CREDITS: lcobucci, fabioluciano, geekcom, lhsazevedo, marcosmarcolin, leonardolara -->
<sect1 xml:id="language.types.callable">
<title>Funções de Retorno / Chamáveis</title>
<title>Chamáveis</title>
<para>
Funções de retorno podem ser representadas pela declaração de tipo <type>callable</type>.
</para>
<simpara>
Um chamável é uma referência a uma função ou a um método que é passada
a outra função como um argumento.
Chamáveis são representados com a declaração de tipo <type>callable</type>.
</simpara>
<informalexample>
<programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
function foo(callable $callback) {
$callback();
}
?>
]]>
</programlisting>
</informalexample>
<para>
Algumas funções como <function>call_user_func</function> ou
<function>usort</function> aceitam funções de retorno definidas pelo usuário
como parâmetro. Funções de retorno não precisam ser apenas funções simples, mas também
métodos de <type>object</type>s, incluindo os estáticos.
</para>
<simpara>
Algumas funções aceitam funções como um parâmetro, por exemplo,
<function>array_map</function>, <function>usort</function> ou
<function>preg_replace_callback</function>.
</simpara>
<sect2 xml:id="language.types.callable.passing">
<title>Passagem por parâmetro</title>
<title>Criação de chamáveis</title>
<para>
Uma função PHP é passada através do seu nome como uma <type>string</type> ou por um
<link linkend="functions.first_class_callable_syntax">chamável de primeira classe</link>.
<simpara>
Um objeto chamável é um tipo que representa algo que pode ser invocado.
Os objetos invocáveis podem ser passados como argumentos para funções ou métodos que
esperam um parâmetro de função de retorno (callback) ou podem ser invocados diretamente.
O tipo <type>callable</type> não pode ser usado como uma declaração de tipo para propriedades de classe.
Em vez disso, use uma declaração de tipo <classname>Closure</classname>.
</simpara>
<simpara>
Chamáveis podem ser criados de diferentes formas:
</simpara>
<itemizedlist>
<listitem>
<simpara>Objeto <classname>Closure</classname></simpara>
</listitem>
<listitem>
<simpara>&string; contendo o nome de uma função ou método</simpara>
</listitem>
<listitem>
<simpara>
&array; contendo um nome de classe ou um <type>object</type>
no índice 0 e o nome do método no índice 1
</simpara>
</listitem>
<listitem>
<simpara>
&object; implementando a método mágico
<link linkend="object.invoke">__invoke()</link>
</simpara>
</listitem>
</itemizedlist>
<simpara>
Um objeto <classname>Closure</classname> pode ser criado usando-se
a sintaxe de <link linkend="functions.anonymous">função anônima</link>,
de <link linkend="functions.arrow">função seta</link>,
de <link linkend="functions.first_class_callable_syntax">chamável de primeira
classe</link>, ou com o médoto <methodname>Closure::fromCallable</methodname>.
</simpara>
<note>
<simpara>
A <link linkend="functions.first_class_callable_syntax">sintaxe de chamável de
primeira classe</link> está disponível somente a partir do PHP 8.1.0.
</simpara>
</note>
<example>
<title>
Exemplo de função de retorno usando <classname>Closure</classname>
</title>
<programlisting role="php">
<![CDATA[
<?php
// Usando a sintaxe de função anônima
$double1 = function ($a) {
return $a * 2;
};
// Usando a sintaxe de chamável de primeira classe
function double_function($a) {
return $a * 2;
}
$double2 = double_function(...);
// Usando a sintaxe de função seta
$double3 = fn($a) => $a * 2;
// Usando Closure::fromCallable
$double4 = Closure::fromCallable('double_function');
// Usando o closure como uma função de retorno aqui para
// duplicar o tamanho de cada elemento no intervalo
$new_numbers = array_map($double1, range(1, 5));
print implode(' ', $new_numbers) . PHP_EOL;
$new_numbers = array_map($double2, range(1, 5));
print implode(' ', $new_numbers) . PHP_EOL;
$new_numbers = array_map($double3, range(1, 5));
print implode(' ', $new_numbers) . PHP_EOL;
$new_numbers = array_map($double4, range(1, 5));
print implode(' ', $new_numbers);
?>
]]>
</programlisting>
&example.outputs.81;
<screen>
<![CDATA[
2 4 6 8 10
2 4 6 8 10
2 4 6 8 10
2 4 6 8 10
]]>
</screen>
</example>
<simpara>
Um chamável também pode ser uma string contendo o nome de uma função ou
de um método estático.
Qualquer função interna ou definida pelo usuário pode ser utilizada, com exceção dos construtores de linguagem
como: <function>array</function>, <function>echo</function>,
<function>empty</function>, <function>eval</function>,
<function>exit</function>, <function>isset</function>,
<function>isset</function>,
<function>list</function>, <function>print</function> ou
<function>unset</function>.
</para>
</simpara>
<para>
Um método de um <type>object</type> instanciado é passado como um
<type>array</type> contendo um <type>object</type> no índice 0 e o
nome do método no índice 1. É permitido acessar métodos protegidos e privados
de uma classe.
</para>
<para>
<simpara>
Métodos estáticos também podem ser passados sem a instância de um
<type>object</type> dessa classe ao passar um nome da classe
em vez de um <type>object</type> no índice 0, ou passando
<literal>'ClassName::methodName'</literal>.
</para>
<type>object</type> dessa classe criando um array com
o nome da classe no índice 0 e o nome do método no índice 1 ou usando
a sintaxe especial com operador de resolução de escopo
<literal>::</literal> como em <literal>'ClassName::methodName'</literal>.
</simpara>
<para>
Além de funções comuns definidas pelo usuário,
<link linkend="functions.anonymous">funções anônimas</link> e
<link linkend="functions.arrow">funções de seta</link> também podem ser
passadas como um parâmetro de função de retorno.
</para>
<simpara>
Um método de um <type>object</type> instanciado pode ser um chamável
quando fornecido como um array com o <type>object</type> no índice 0 e o
nome do método no índice 1.
</simpara>
<simpara>
A principal diferença entre um objeto <classname>Closure</classname> e o
tipo <type>callable</type> é que um objeto <classname>Closure</classname> é
independente de escopo e sempre pode ser invocado, enquanto um tipo 'callable' pode ser
dependente de escopo e pode não ser invocado diretamente.
<classname>Closure</classname> é a maneira preferida de criar objetos chamáveis.
</simpara>
<note>
<para>
A partir do PHP 8.1.0, funções anônimas também podem ser criadas usando a <link linkend="functions.first_class_callable_syntax">sintaxe de chamável de primeira classe</link>.
</para>
<simpara>
Embora os objetos <classname>Closure</classname> estejam vinculados ao escopo
onde são criados, os objetos chamáveis que referenciam métodos de classe como strings
ou arrays são resolvidos no escopo onde são chamados.
Para criar um objeto chamável a partir de um método privado ou protegido, que pode então ser
invocado de fora do escopo da classe, use
<methodname>Closure::fromCallable</methodname> ou a
<link linkend="functions.first_class_callable_syntax">sintaxe de chamável de primeira
classe</link>.
</simpara>
</note>
<para>
Geralmente, qualquer objeto implementando <link linkend="object.invoke">__invoke()</link> também pode
ser passado para um parâmetro de função de retorno.
</para>
<simpara>
O PHP permite a criação de chamáveis que podem ser usados como argumento de função de retorno
mas não podem ser chamadas diretamente.
Essas são funções dependentes do contexto que fazem referência a um método de classe na
hierarquia de herança de uma classe, por exemplo:
<literal>'parent::method'</literal> ou <literal>["static", "method"]</literal>.
</simpara>
<para>
<example>
<title>
Exemplos de funções de retorno
</title>
<programlisting role="php">
<note>
<simpara>
A partir do PHP 8.2.0, chamáveis dependentes de contexto
foram descontinuados. Remova a dependência de contexto substituindo
<literal>'parent::method'</literal> por
<literal>parent::class . '::method'</literal> ou use a
<link linkend="functions.first_class_callable_syntax">sintaxe de chamável
de primeira classe</link>.
</simpara>
</note>
<example>
<title>
Invocando vários tipos de chamáveis com <function>call_user_function</function>
</title>
<programlisting role="php">
<![CDATA[
<?php
// Exemplo de função de retorno
function minha_funcao_retorno() {
echo 'Olá mundo!', PHP_EOL;
echo 'olá mundo!', PHP_EOL;
}
// Exemplo de método de retorno
@@ -85,16 +218,19 @@ class MinhaClasse {
call_user_func('minha_funcao_retorno');
// Tipo 2: Chamada a métodos estáticos
call_user_func(array('MinhaClasse', 'meuMetodoRetorno'));
call_user_func(['MinhaClasse', 'meuMetodoRetorno']);
// Tipo 3: Chamada a métodos de objetos
$obj = new MinhaClasse();
call_user_func(array($obj, 'meuMetodoRetorno'));
call_user_func([$obj, 'meuMetodoRetorno']);
// Tipo 4: Chamada a métodos estáticos
call_user_func('MinhaClasse::meuMetodoRetorno');
// Tipo 5: Chamada relativa a métodos estáticos
// Tipo 5: Chamada a métodos estáticos usando a palavra-chave ::class
call_user_func([MyClass::class, 'myCallbackMethod']);
// Type 6: Relative static class method call
class A {
public static function quem() {
echo "A\n", PHP_EOL;
@@ -107,12 +243,12 @@ class B extends A {
}
}
call_user_func(array('B', 'parent::quem')); // A, descontinuado a partir do PHP 8.2.0
call_user_func(['B', 'parent::quem']); // descontinuado a partir do PHP 8.2.0
// Type 6: Objetos que implementam __invoke podem ser utilizados como chamáveis
// Type 7: Objetos que implementam __invoke podem ser utilizados como chamáveis
class C {
public function __invoke($nome) {
echo 'Olá ', $nome, PHP_EOL;
echo 'Olá ', $nome;
}
}
@@ -120,42 +256,23 @@ $c = new C();
call_user_func($c, 'PHP!');
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>
Exemplo de Função de retorno utilizando um <classname>Closure</classname>
</title>
<programlisting role="php">
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<?php
// O closure
$double = function($a) {
return $a * 2;
};
olá mundo!
Olá Mundo!
Olá Mundo!
Olá Mundo!
Olá Mundo!
// Esta é a série de números
$numbers = range(1, 5);
// O uso do closure aqui é para
// dobrar o valor de cada elemento da
// série
$new_numbers = array_map($double, $numbers);
print implode(' ', $new_numbers);
?>
Deprecated: Callables of the form ["B", "parent::who"] are deprecated in script on line 41
A
Olá, PHP!
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
2 4 6 8 10
]]>
</screen>
</example>
</para>
</screen>
</example>
&note.func-callback-exceptions;
</sect2>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 3a97501ec4b56ed700facd0163d11faadc58663d Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,fabioluciano,geekcom,gabrielsanva,ae,leonardolara -->
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 87fd768a70bb136ad6ba94699e8c6332e0c115e0 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,fabioluciano,geekcom,gabrielsanva,ae,leonardolara -->
<sect1 xml:id="language.types.type-juggling">
<title>Conversão automática de tipos</title>
@@ -250,7 +250,7 @@
<example>
<title>Exemplo de tipos que podem ser convertidos em tipos union</title>
<programlisting>
<programlisting role="php">
<![CDATA[
<?php
// int|string

View File

@@ -1,4 +1,4 @@
<variablelist role="constant_list"><!-- EN-Revision: 6d21eef094840a7277af4735b8898f70ef9cd9ba Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<variablelist role="constant_list"><!-- EN-Revision: c9888ac6e5c75d00d50f9c2fd741ae3a82a479ec Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<title><function>curl_setopt</function></title>
<varlistentry xml:id="constant.curlopt-abstract-unix-socket">
<term>
@@ -1600,7 +1600,7 @@
Define uma <type>string</type> com o endereço de autenticação (identidade)
de uma mensagem enviada que está sendo retransmitida para outro servidor.
O endereço não deve ser especificado entre parênteses angulares
(<literal>&gt;&lt;</literal>).
(<literal>&lt;&gt;</literal>).
Se uma <type>string</type> vazia for usada, um par de parênteses angulares será enviado pelo cURL
conforme exigido pela RFC 2554.
Disponível a partir do cURL 7.25.0.
@@ -1616,7 +1616,7 @@
<para>
Define uma <type>string</type> com o endereço de e-mail do remetente ao enviar mensagens SMTP.
O endereço de e-mail deve ser especificado entre parênteses angulares
(<literal>&gt;&lt;</literal>) ao redor dele,
(<literal>&lt;&gt;</literal>) ao redor dele,
que se não forem especificados serão adicionados automaticamente.
Se este parâmetro não for especificado, um endereço vazio será enviado
ao servidor SMTP, o que poderá fazer com que o e-mail seja rejeitado.
@@ -1634,7 +1634,7 @@
Deve ser definida como um <type>array</type> de <type>string</type>s
com os destinatários a serem passados ao servidor em uma solicitação de email SMTP.
Cada destinatário deve ser especificado entre parênteses angulares
(<literal>&gt;&lt;</literal>).
(<literal>&lt;&gt;</literal>).
Se um parêntese angular não for usado como primeiro caractere,
o cURL assumirá que um único endereço de e-mail foi fornecido
e colocará esse endereço entre parênteses angulares.
@@ -3926,7 +3926,7 @@
<listitem>
<para>
Define um <type>array</type> de <type>string</type>s a ser passado às negociações telnet.
As variáveis devem estar no formato <literal>&gt;opção=valor&lt;</literal>.
As variáveis devem estar no formato <literal>&lt;opção=valor&gt;</literal>.
O cURL suporta as opções <literal>TTYPE</literal>,
<literal>XDISPLOC</literal> e <literal>NEW_ENV</literal>.
Disponível a partir do cURL 7.7.0.

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 3a8c3e77df070a046c9d5b56b68926ca2d7e5ee3 Maintainer: leonardolara Status: ready --><!-- CREDITS: fabioluciano, leonardolara -->
<!-- EN-Revision: cafec7df4c6ba597b5ac45b03191aea18f3cabab Maintainer: leonardolara Status: ready --><!-- CREDITS: fabioluciano, leonardolara -->
<refentry xml:id="datetimeimmutable.createfromformat" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>DateTimeImmutable::createFromFormat</refname>
@@ -693,7 +693,7 @@ Mon, 10 Aug 2020 01:00:00 +0000
$d = DateTimeImmutable::createFromFormat('Y-m-d H:i:s', '2021-17-35 16:60:97');
echo $d->format(DateTimeImmutable::RFC2822), "\n\n";
var_dump(DateTimeImmutable::GetLastErrors());
var_dump(DateTimeImmutable::getLastErrors());
]]>
</programlisting>
&example.outputs.similar;

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9b1673cf114a1e10c4563ab9223cb56aed552b89 Maintainer: leonardolara Status: ready --><!-- CREDITS: fabioluciano, leonardolara -->
<!-- EN-Revision: 3a8c3e77df070a046c9d5b56b68926ca2d7e5ee3 Maintainer: leonardolara Status: ready --><!-- CREDITS: fabioluciano, leonardolara -->
<refentry xml:id="function.date-sunset" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>date_sunset</refname>
@@ -222,13 +222,13 @@ deslocamento UTC: +01:00 GMT
*/
echo date("D M d Y"). ', horário do pôr do sol : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 10
Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in script on line 10
Mon Dec 20 2004, horário do pôr do sol : 18:13
]]>
</screen>
@@ -240,12 +240,13 @@ Mon Dec 20 2004, horário do pôr do sol : 18:13
<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunset($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Deprecated: Constant SUNFUNCS_RET_STRING is deprecated in script on line 3
Deprecated: Function date_sunset() is deprecated since 8.1, use date_sun_info() instead in script on line 3
bool(false)
]]>
</screen>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4b72b23513caa3a8bc520d459a0417defc7b3880 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- EN-Revision: 95d05546430b9e5db225dd42a0d285b870f0da42 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- Generated by xml_proto.php v2.4. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.mb-stripos" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -58,10 +58,7 @@
<varlistentry>
<term><parameter>encoding</parameter></term>
<listitem>
<para>
Nome da codificação de caracteres a ser usada.
Se omitido, a codificação interna de caracteres é usada.
</para>
&mbstring.encoding.parameter;
</listitem>
</varlistentry>
</variablelist>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f63aa0afcde35bf8450e32128295d6e08cd6b120 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
<!-- EN-Revision: 95d05546430b9e5db225dd42a0d285b870f0da42 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- Generated by xml_proto.php v2.4. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.mb-stristr" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -61,10 +61,7 @@
<varlistentry>
<term><parameter>encoding</parameter></term>
<listitem>
<para>
Nome da codificação de caracteres a ser usada.
Se omitido, a codificação interna de caracteres é usada.
</para>
&mbstring.encoding.parameter;
</listitem>
</varlistentry>
</variablelist>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4b72b23513caa3a8bc520d459a0417defc7b3880 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- EN-Revision: 95d05546430b9e5db225dd42a0d285b870f0da42 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<refentry xml:id="function.mb-strpos" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>mb_strpos</refname>
@@ -16,7 +16,7 @@
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>encoding</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Encontra a posição da primeira ocorrência de uma <type>string</type> em outra <type>string</type>.
Encontra a posição da primeira ocorrência de <parameter>needle</parameter> na string de <parameter>haystack</parameter>.
</para>
<para>
Realiza uma operação
@@ -34,7 +34,8 @@
<term><parameter>haystack</parameter></term>
<listitem>
<para>
A <type>string</type> sendo verificada.
A string da qual será obtida a posição da primeira ocorrência
de <parameter>needle</parameter>.
</para>
</listitem>
</varlistentry>

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f63aa0afcde35bf8450e32128295d6e08cd6b120 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
<!-- EN-Revision: 8c262f2df6f585b42b917611a029859c60539e5d Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- Generated by xml_proto.php v2.4. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.mb-strrchr" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mb_strrchr</refname>
<refpurpose>Encontrar a última ocorrência de um caractere em uma string dentro de outra</refpurpose>
<refpurpose>Encontra a última ocorrência de um caractere em uma string dentro de outra</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
@@ -30,8 +30,8 @@
<term><parameter>haystack</parameter></term>
<listitem>
<para>
A string da qual obter a última ocorrência
de <parameter>needle</parameter>
A string da qual será obtida a última ocorrência
de <parameter>needle</parameter>.
</para>
</listitem>
</varlistentry>
@@ -59,10 +59,7 @@
<varlistentry>
<term><parameter>encoding</parameter></term>
<listitem>
<para>
Nome do conjunto de caracteres a ser usado.
Se omitido, é usado o conjunto de caracteres interno.
</para>
&mbstring.encoding.parameter;
</listitem>
</varlistentry>
</variablelist>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f63aa0afcde35bf8450e32128295d6e08cd6b120 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
<!-- EN-Revision: 8c262f2df6f585b42b917611a029859c60539e5d Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- Generated by xml_proto.php v2.4. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.mb-strrichr" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -32,8 +32,8 @@
<term><parameter>haystack</parameter></term>
<listitem>
<para>
A string da qual obter a última ocorrência
de <parameter>needle</parameter>
A string da será obtida a última ocorrência
de <parameter>needle</parameter>.
</para>
</listitem>
</varlistentry>
@@ -41,7 +41,7 @@
<term><parameter>needle</parameter></term>
<listitem>
<para>
A string a ser encontrada em <parameter>haystack</parameter>
A string a ser encontrada em <parameter>haystack</parameter>.
</para>
</listitem>
</varlistentry>
@@ -61,10 +61,7 @@
<varlistentry>
<term><parameter>encoding</parameter></term>
<listitem>
<para>
Nome do conjunto de caracteres a ser usado.
Se omitido, é usado o conjunto de caracteres interno.
</para>
&mbstring.encoding.parameter;
</listitem>
</varlistentry>
</variablelist>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4b72b23513caa3a8bc520d459a0417defc7b3880 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- EN-Revision: 95d05546430b9e5db225dd42a0d285b870f0da42 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- Generated by xml_proto.php v2.4. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.mb-strripos" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -35,7 +35,7 @@
<listitem>
<para>
A string da qual deve ser obtida a posição da última ocorrência
de <parameter>needle</parameter>
de <parameter>needle</parameter>.
</para>
</listitem>
</varlistentry>
@@ -43,7 +43,7 @@
<term><parameter>needle</parameter></term>
<listitem>
<para>
A string a ser encontrada em <parameter>haystack</parameter>
A string a ser encontrada em <parameter>haystack</parameter>.
</para>
</listitem>
</varlistentry>
@@ -51,18 +51,16 @@
<term><parameter>offset</parameter></term>
<listitem>
<para>
A posição em <parameter>haystack</parameter>
a partir da qual a busca inicia.
Pode ser especificado para iniciar a busca a partir de um número arbitrário de caracteres de
<parameter>haystack</parameter>. Valores negativos encerram a busca em um ponto arbitrário
antes do final de <parameter>haystack</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>encoding</parameter></term>
<listitem>
<para>
Nome do conjunto de caracteres a ser usado.
Se omitido, é usado o conjunto de caracteres interno.
</para>
&mbstring.encoding.parameter;
</listitem>
</varlistentry>
</variablelist>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4b72b23513caa3a8bc520d459a0417defc7b3880 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- EN-Revision: 95d05546430b9e5db225dd42a0d285b870f0da42 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<refentry xml:id="function.mb-strrpos" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>mb_strrpos</refname>
@@ -51,8 +51,8 @@
<listitem>
<simpara>
Pode ser especificado para começar a busca a partir de um número arbitrário de caracteres
na <type>string</type>. Valores negativos interromperão a busca em um ponto arbitrário
antes do final da <type>string</type>.
em <parameter>haystack</parameter>. Valores negativos interromperão a busca em um ponto arbitrário
antes do final de <parameter>haystack</parameter>.
</simpara>
</listitem>
</varlistentry>
@@ -105,7 +105,7 @@
<entry>8.0.0</entry>
<entry>
O envio de <parameter>encoding</parameter> como terceiro argumento
em vez de uma posição foi removido.
em vez de <parameter>offset</parameter> foi removido.
</entry>
</row>
&mbstring.changelog.encoding-nullable;

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f63aa0afcde35bf8450e32128295d6e08cd6b120 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
<!-- EN-Revision: 95d05546430b9e5db225dd42a0d285b870f0da42 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- Generated by xml_proto.php v2.4. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.mb-strstr" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -59,10 +59,7 @@
<varlistentry>
<term><parameter>encoding</parameter></term>
<listitem>
<para>
Nome do conjunto de caracteres a ser usado.
Se omitido, é utilizado o conjunto de caracteres interno.
</para>
&mbstring.encoding.parameter;
</listitem>
</varlistentry>
</variablelist>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 59a7b6d83acdad0180fa4519fa537bfd6deb162a Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 812ed835faa11b611c112d2a16777aebf70eb020 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<reference xml:id="class.pdorow" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>A classe PDORow</title>
<titleabbrev>PDORow</titleabbrev>
@@ -11,7 +11,7 @@
<para>
Representa uma linha de um conjunto de resultados retornado
pelo <methodname>PDOStatement::fetch</methodname>
chamado com o modo de recuperação <constant>PDO_FETCH_LAZY</constant>.
chamado com o modo de recuperação <constant>PDO::FETCH_LAZY</constant>.
</para>
<para>
Objetos desta classe não podem ser instanciados e não são serializáveis.

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 821af5a8ba67e317b646a1c6b74b3229eb85c2fd Maintainer: leonardolara Status: ready -->
<!-- EN-Revision: d01c0533924b3519bd31d5f909846ae8f36429ff Maintainer: leonardolara Status: ready -->
<refentry xml:id="streamwrapper.stream-cast" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4b72b23513caa3a8bc520d459a0417defc7b3880 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<!-- EN-Revision: 95d05546430b9e5db225dd42a0d285b870f0da42 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.strripos" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>strripos</refname>
@@ -75,9 +75,9 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna a posição onde a string procurada existe relativamente ao início da
Retorna a posição onde a string procurada <parameter>needle</parameter> existe relativamente ao início da
string <parameter>haystack</parameter> (independente da direção de busca
ou do deslocamenteo).
ou de <parameter>offset</parameter>).
<note>
<simpara>
A posições na string iniciam em 0, e não em 1.
@@ -85,7 +85,7 @@
</note>
</para>
<para>
Retorna &false; se a string não for encontrada.
Retorna &false; se a string em <parameter>needle</parameter> não for encontrada.
</para>
&return.falseproblem;
</refsect1>
@@ -141,16 +141,17 @@
<programlisting role="php">
<![CDATA[
<?php
$haystack = 'ababcd';
$needle = 'aB';
$pos = strripos($haystack, $needle);
if ($pos === false) {
echo "Desculpe, não encontramos ($needle) em ($haystack)";
echo "Desculpe, não encontramos `$needle` em `$haystack`";
} else {
echo "Parabéns!\n";
echo "Encontramos a última ocorrência de ($needle) em ($haystack) na posição ($pos)";
echo "Encontramos a última ocorrência de `$needle` em `$haystack` na posição `$pos`";
}
?>
]]>
@@ -158,8 +159,8 @@ if ($pos === false) {
&example.outputs;
<screen>
<![CDATA[
Parabéns!
Encontramos a última ocorrência de (aB) em (ababcd) na posição (2)
Parabéns!
Encontramos a última ocorrência de `aB` em `ababcd` na posição `2`
]]>
</screen>
</example>