sync with en rev

This commit is contained in:
Leonardo Lara Rodrigues
2025-11-11 15:50:25 -03:00
parent fd67f9d997
commit 2feb4ef2ac
9 changed files with 311 additions and 288 deletions

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e7e4ffe9a10a4dcd9903a7abf125a811d0eda023 Maintainer: leonardolara Status: ready --><!-- CREDITS: williancarminato,narigone,ae,leonardolara -->
<chapter xml:id="features.persistent-connections" xmlns="http://docbook.org/ns/docbook">
<title>Conexões Persistentes com o Banco de Dados</title>
<!-- EN-Revision: cd8b964b8566801265f0d287db6eb651f93be950 Maintainer: leonardolara Status: ready --><!-- CREDITS: williancarminato,narigone,ae,leonardolara -->
<chapter xml:id="features.persistent-connections" xmlns="http://docbook.org/ns/docbook">
<title>Conexões Persistentes com o Banco de Dados</title>
<simplesect>
<title>O que são Conexões Persistentes?</title>
@@ -198,20 +198,18 @@
</simplesect>
<simplesect role="seealso" xml:id="persistent-connections.seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ibase_pconnect</function></member>
<member><function>oci_pconnect</function></member>
<member><function>odbc_pconnect</function></member>
<member><function>pfsockopen</function></member>
<member><function>pg_connect</function></member>
<member><link linkend="mysqli.persistconns">MySQLi e Conexões Persistentes</link></member>
<member><link linkend="pdo.connections">Gerenciamento de Conexões PDO</link></member>
</simplelist>
</para>
</simplesect>
</chapter>
&reftitle.seealso;
<simplelist>
<member><function>ibase_pconnect</function></member>
<member><function>oci_pconnect</function></member>
<member><function>odbc_pconnect</function></member>
<member><function>pfsockopen</function></member>
<member><function>pg_connect</function></member>
<member><link linkend="mysqli.persistconns">MySQLi e Conexões Persistentes</link></member>
<member><link linkend="pdo.connections">Gerenciamento de Conexões PDO</link></member>
</simplelist>
</simplesect>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f033d4b76635f9582f6eb5505899e1f7fb2dd1a4 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<!-- EN-Revision: 1c9fb12650addc936f5a0d5d1edc42cd32e9c765 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<sect1 xml:id="install.unix.source" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Instalando a partir do código-fonte em sistemas Unix e macOS</title>
<para>
@@ -70,6 +70,12 @@
</itemizedlist>
</para>
<simpara>
Para as etapas mais detalhadas da compilação do PHP a partir da fonte, consulte o
<link xlink:href="&url.php.git.src.master.view;README.md">README.md</link>
no pacote do código-fonte.
</simpara>
<simpara>
O processo inicial de instalação e configuração do PHP é controlado pelo
uso das opções de linha de comando do script <command>configure</command>.

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e8ac70bf549a723cb36465667a6109d9933b8619 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<!-- EN-Revision: 6160a59081620a6c31e88b15835824013993d7e4 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<sect1 xml:id="install.windows.recommended" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Configuração recomendada em sistemas Windows</title>
<sect2>
@@ -31,7 +31,6 @@ opcache.enable_cli=On
<para>
Recomenda-se usar o WinCache se o IIS for usado, especialmente em um ambiente
de hospedagem web compartilhado ou em armazenamento de arquivos de rede (NAS).
Note que o WinCache não é mais suportado a partir do PHP 8.0.0.
Todas as aplicações PHP se beneficiam automaticamente do recurso de cache de arquivo do WinCache. Operações do sistema de arquivos são armazenadas em cache.

View File

@@ -7,7 +7,7 @@
não são aspas simples! O PHP tentará executar
o conteúdo dentro dos acentos graves como um comando do shell; a saída será
retornada (isto é, ela não será simplesmente mostrada na tela;
ela pode ser atribuída a uma variável). A utilização do operador acento grave é idêntica
ela pode ser atribuída a uma variável). A utilização do operador de execução é idêntica
a da função <function>shell_exec</function>.
</para>
<para>
@@ -31,7 +31,7 @@ echo "<pre>$output</pre>";
</note>
<note>
<para>
Ao contrário de outras linguagens, acentos graves não tem sentido especial
Ao contrário de outras linguagens, acentos graves não têm sentido especial
dentro de strings delimitadas por aspas.
</para>
</note>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 3a8c3e77df070a046c9d5b56b68926ca2d7e5ee3 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<!-- EN-Revision: cd8b964b8566801265f0d287db6eb651f93be950 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<chapter xml:id="datetime.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.examples;

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 812ed835faa11b611c112d2a16777aebf70eb020 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 7e384b24f7e37c6b4caf735f3601179cc65ef8f9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<section xmlns="http://docbook.org/ns/docbook" xml:id="pdo.constants.fetch-modes">
<title>Modos de Busca</title>
<para>
<simpara>
Consulte as <link linkend="pdo.constants.cursors">constantes de cursores</link> para as
constantes <literal>PDO::FETCH_ORI_*</literal>.
</para>
</simpara>
<section xml:id="pdo.fetch-modes.basic" annotations="chunk:false">
<title>Modos de Busca Básicos</title>
@@ -81,7 +81,7 @@
</entry>
<entry>
Usa uma função para criar o valor de retorno.
(<function>PDOStatement::fetchAll</function> somente)
(<methodname>PDOStatement::fetchAll</methodname> somente)
</entry>
</row>
<row>
@@ -108,10 +108,10 @@
<section xml:id="pdo.fetch-modes.class-flags" annotations="chunk:false">
<title>Opções de PDO::FETCH_CLASS</title>
<para>
<simpara>
Estes modos são usados para implementar opções ao usar
<constant>PDO::FETCH_CLASS</constant>.
</para>
</simpara>
<informaltable>
<tgroup cols="2">
@@ -154,10 +154,10 @@
<section xml:id="pdo.fetch-modes.single" annotations="chunk:false">
<title>Modos de resultado único</title>
<para>
<simpara>
Os modos a seguir não podem ser usados com
<function>PDOStatement::fetchAll</function>.
</para>
<methodname>PDOStatement::fetchAll</methodname>.
</simpara>
<informaltable>
<tgroup cols="2">
@@ -200,14 +200,14 @@
<section xml:id="pdo.fetch-modes.grouped" annotations="chunk:false">
<title>
Sinalizadores de comportamento especiais para <function>PDOStatement::fetchAll</function>
Sinalizadores de comportamento especiais para <methodname>PDOStatement::fetchAll</methodname>
</title>
<para>
<simpara>
Os seguintes modos especiais para múltiplos resultados funcionam apenas com
<function>PDOStatement::fetchAll</function> e não funcionam com alguns outros
<methodname>PDOStatement::fetchAll</methodname> e não funcionam com alguns outros
modos de busca. Consulte a documentação completa para obter detalhes.
</para>
</simpara>
<informaltable>
<tgroup cols="2">
@@ -241,23 +241,23 @@
<section xml:id="pdo.fetch-modes.duplicate-names" annotations="chunk:false">
<title>Tratamento de nomes de colunas duplicados</title>
<para>
<simpara>
É possível que os resultados contenham várias colunas com o mesmo nome.
Por exemplo, ao unir duas tabelas que contêm uma coluna com o mesmo
nome.
</para>
<para>
</simpara>
<simpara>
Como as estruturas do PHP, como arrays e objetos, não suportam múltiplas chaves
ou propriedades com o mesmo nome, o array ou objeto retornado
conterá apenas 1 dos valores com o mesmo nome.
</para>
<para>
</simpara>
<simpara>
O valor retornado para um determinado nome duplicado deve ser considerado
indefinido.
</para>
<para>
</simpara>
<simpara>
Para evitar esse problema, nomeie as colunas explicitamente usando um sinônimo. Por exemplo:
</para>
</simpara>
<informalexample>
<programlisting role="sql">
<![CDATA[
@@ -268,48 +268,48 @@ JOIN table2 ON table1.table2id = table2.id
]]>
</programlisting>
</informalexample>
<para>
<simpara>
Consulte também <constant>PDO::FETCH_NAMED</constant>,
<constant>PDO::ATTR_FETCH_TABLE_NAMES</constant> e
<constant>PDO::ATTR_FETCH_CATALOG_NAMES</constant>.
</para>
</simpara>
</section>
<section xml:id="pdo.fetch-modes.default" annotations="chunk:false">
<title>Definindo o modo de busca padrão </title>
<para>
Pode-se definir o modo de busca padrão para todas as consultas usando
<simpara>
É possível definir o modo de busca padrão para todas as consultas usando
<constant>PDO::ATTR_DEFAULT_FETCH_MODE</constant> com
<function>PDO::__construct</function> ou
<function>PDO::setAttribute</function>.
</para>
<para>
Pode-se definir o modo de busca padrão para uma instrução específica usando
<function>PDOStatement::setFetchMode</function>. Isso afeta a reutilização como uma
instrução preparada e a iteração (usando
<link linkend="control-structures.foreach">foreach</link>).
</para>
<methodname>PDO::__construct</methodname> ou
<methodname>PDO::setAttribute</methodname>.
</simpara>
<simpara>
É possível definir o modo de busca padrão para uma instrução específica usando
<methodname>PDOStatement::setFetchMode</methodname>.
Isso afeta a reutilização como uma instrução preparada e a iteração (usando
&foreach;).
</simpara>
<caution>
<para>
<function>PDOStatement::setAttribute</function> não pode ser usado para definir o
<simpara>
<methodname>PDOStatement::setAttribute</methodname> não pode ser usado para definir o
modo de busca padrão. Ele aceita apenas atributos específicos do driver e ignora silenciosamente
os atributos que não são reconhecidos.
</para>
</simpara>
</caution>
</section>
<section xml:id="pdo.constants.fetch-default" annotations="chunk:false">
<title>PDO::FETCH_DEFAULT (<type>int</type>)</title>
<para>
Disponível desde o PHP 8.0.7.
</para>
<para>
<simpara>
Disponível a partir do PHP 8.0.7.
</simpara>
<simpara>
Este é um valor especial que usa o modo de busca padrão atual para um
<classname>PDOStatement</classname>. É particularmente útil como o valor padrão
para parâmetros de método ao estender
<classname>PDOStatement</classname> para uso com
<constant>PDO::ATTR_STATEMENT_CLASS</constant>.
</para>
</simpara>
<para>
Este valor não pode ser usado com
<constant>PDO::ATTR_DEFAULT_FETCH_MODE</constant>.
@@ -318,10 +318,10 @@ JOIN table2 ON table1.table2id = table2.id
<section xml:id="pdo.constants.fetch-assoc" annotations="chunk:false">
<title>PDO::FETCH_ASSOC (<type>int</type>)</title>
<para>
<simpara>
<constant>PDO::FETCH_ASSOC</constant> retorna um array indexado apenas pelo nome da
coluna.
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -347,31 +347,31 @@ Array
<section xml:id="pdo.constants.fetch-both" annotations="chunk:false">
<title>PDO::FETCH_BOTH (<type>int</type>)</title>
<para>
<simpara>
Este é o modo de busca padrão.
</para>
<para>
</simpara>
<simpara>
<constant>PDO::FETCH_BOTH</constant> retorna uma matriz indexada tanto pelo número da coluna quanto pelo nome.
Isso significa que cada valor retornado é duplicado para cada
linha de resultado.
</para>
<para>
</simpara>
<simpara>
O número da coluna começa em 0 e é determinado pela ordem da coluna de resultado na
consulta, não (por exemplo) pela ordem em que as colunas são definidas na tabela.
</para>
</simpara>
<note>
<para>
<simpara>
Não é recomendável usar o índice numérico de coluna, pois ele pode mudar quando
a consulta for alterada ou quando o esquema da tabela for alterado ao usar
<literal>SELECT *</literal>.
</para>
</simpara>
</note>
<note>
<para>
<simpara>
O número de entradas indexadas por nome pode não corresponder ao número de entradas
indexadas por número nos casos em que várias colunas retornadas usam o mesmo
nome.
</para>
</simpara>
</note>
<informalexample>
<programlisting role="php">
@@ -401,20 +401,20 @@ Array
<section xml:id="pdo.constants.fetch-named" annotations="chunk:false">
<title>PDO::FETCH_NAMED (<type>int</type>)</title>
<para>
<simpara>
<constant>PDO::FETCH_NAMED</constant> retorna resultados no mesmo formato que
<constant>PDO::FETCH_ASSOC</constant> exceto que, quando várias colunas usam
o mesmo nome, todos os valores são retornados como uma lista.
</para>
<para>
</simpara>
<simpara>
Para obter mais informações sobre o tratamento de nomes de colunas duplicados e alternativas,
consulte a seção <link linkend="pdo.fetch-modes.duplicate-names">tratamento de
nomes duplicados</link> acima.
</para>
<para>
</simpara>
<simpara>
A ordem em que os valores duplicados são retornados deve ser considerada
indefinida. Não há como saber de onde cada valor veio.
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -450,17 +450,17 @@ Array
<section xml:id="pdo.constants.fetch-num" annotations="chunk:false">
<title>PDO::FETCH_NUM (<type>int</type>)</title>
<para>
<simpara>
<constant>PDO::FETCH_NUM</constant> retorna um array indexado apenas pelo número da coluna.
O número da coluna começa em 0 e é determinado pela ordem da coluna de resultado na
consulta, não (por exemplo) pela ordem em que as colunas são definidas na tabela.
</para>
</simpara>
<note>
<para>
<simpara>
Não é recomendável usar o índice de coluna numérica, pois ele pode mudar quando
a consulta for alterada ou quando o esquema da tabela for alterado ao usar
<literal>SELECT *</literal>.
</para>
</simpara>
</note>
<informalexample>
<programlisting role="php">
@@ -487,16 +487,16 @@ Array
<section xml:id="pdo.constants.fetch-column" annotations="chunk:false">
<title>PDO::FETCH_COLUMN (<type>int</type>)</title>
<para>
<simpara>
<constant>PDO::FETCH_COLUMN</constant> retorna valores de uma única coluna.
Use o segundo argumento de <function>PDOStatement::setFetchMode</function>
ou <function>PDOStatement::fetchAll</function> para especificar qual coluna será
Use o segundo argumento de <methodname>PDOStatement::setFetchMode</methodname>
ou <methodname>PDOStatement::fetchAll</methodname> para especificar qual coluna será
retornada.
</para>
<para>
</simpara>
<simpara>
Se a coluna especificada não existir, será lançado um
<classname>ValueError</classname>.
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -533,16 +533,16 @@ Array
<section xml:id="pdo.constants.fetch-key-pair" annotations="chunk:false">
<title>PDO::FETCH_KEY_PAIR (<type>int</type>)</title>
<para>
<simpara>
<constant>PDO::FETCH_KEY_PAIR</constant> retorna pares de valores, indexados pela
primeira coluna. Os resultados devem conter apenas 2 colunas. Este modo de busca
só faz sentido com <function>PDOStatement::fetchAll</function>.
</para>
só faz sentido com <methodname>PDOStatement::fetchAll</methodname>.
</simpara>
<note>
<para>
<simpara>
Se a primeira coluna não for única, valores serão perdidos.
Quais valores serão perdidos devem ser considerados indefinidos.
</para>
</simpara>
</note>
<informalexample>
<programlisting role="php">
@@ -569,21 +569,22 @@ Array
<section xml:id="pdo.constants.fetch-func" annotations="chunk:false">
<title>PDO::FETCH_FUNC (<type>int</type>)</title>
<para>
<simpara>
Especifique uma função para criar o valor retornado. Este modo só pode ser usado
com <function>PDOStatement::fetchAll</function>.
</para>
<para>
A função recebe os valores como parâmetros. Não há como recuperar
o nome da coluna à qual um determinado valor estava associado. Deve-se garantir que a
ordem das colunas na consulta corresponda à esperada pela função.
</para>
com <methodname>PDOStatement::fetchAll</methodname>.
</simpara>
<simpara>
A função recebe os valores como parâmetros.
Não há como recuperar o nome da coluna à qual um determinado valor estava associado.
É crucial garantir que a ordem das colunas na consulta corresponda à
esperada pela função.
</simpara>
<note>
<para>
<simpara>
Os efeitos de <constant>PDO::FETCH_GROUP</constant> e
<constant>PDO::FETCH_UNIQUE</constant> são aplicados aos resultados antes da
função ser chamada.
</para>
</simpara>
</note>
<informalexample>
<programlisting role="php">
@@ -641,14 +642,14 @@ Array
<section xml:id="pdo.constants.fetch-obj" annotations="chunk:false">
<title>PDO::FETCH_OBJ (<type>int</type>)</title>
<para>
<simpara>
<constant>PDO::FETCH_OBJ</constant> retorna um objeto
<classname>stdClass</classname>.
</para>
<para>
Consulte também <function>PDOStatement::fetchObject</function> e
</simpara>
<simpara>
Consulte também <methodname>PDOStatement::fetchObject</methodname> e
<constant>PDO::FETCH_CLASS</constant>.
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -674,18 +675,18 @@ stdClass Object
<section xml:id="pdo.constants.fetch-class" annotations="chunk:false">
<title>PDO::FETCH_CLASS (<type>int</type>)</title>
<para>
<simpara>
Retorna um objeto de uma classe especificada. Para comportamentos adicionais, consulte os sinalizadores de opções:
<link linkend="pdo.fetch-modes.class-flags">sinalizadores de opções</link>.
</para>
<para>
</simpara>
<simpara>
Se uma propriedade com o nome de uma coluna retornada não existir, ela será
declarada dinamicamente. Esse comportamento foi descontinuado e causará um erro
a partir do PHP 9.0.
</para>
<para>
Consulte também <function>PDOStatement::fetchObject</function>.
</para>
</simpara>
<simpara>
Consulte também <methodname>PDOStatement::fetchObject</methodname>.
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -738,19 +739,19 @@ object(TestEntity)#3 (4) {
<section xml:id="pdo.constants.fetch-classtype" annotations="chunk:false">
<title>PDO::FETCH_CLASSTYPE (<type>int</type>)</title>
<para>
<simpara>
Este modo de busca só pode ser usado em combinação com
<constant>PDO::FETCH_CLASS</constant> (e
<link linkend="pdo.fetch-modes.class-flags">suas outras opções</link>).
</para>
<para>
</simpara>
<simpara>
Quando este modo de busca é usado, o PDO usará a primeira coluna retornada como o
nome da classe a ser retornada.
</para>
<para>
</simpara>
<simpara>
Se a classe especificada não for encontrada, um objeto <classname>stdClass</classname>
será retornado, sem aviso ou erro.
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -803,15 +804,15 @@ object(TestEntity)#3 (4) {
<section xml:id="pdo.constants.fetch-props-late" annotations="chunk:false">
<title>PDO::FETCH_PROPS_LATE (<type>int</type>)</title>
<para>
<simpara>
Este modo de busca só pode ser usado em combinação com
<constant>PDO::FETCH_CLASS</constant> (e
<link linkend="pdo.fetch-modes.class-flags">suas outras opções</link>).
</para>
<para>
</simpara>
<simpara>
Quando este modo de busca é usado, o construtor será chamado antes que as
propriedades sejam definidas.
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -870,25 +871,25 @@ object(TestEntity)#3 (4) {
O uso deste recurso é altamente desencorajado.
</simpara>
</warning>
<para>
<simpara>
Este modo de busca só pode ser usado em combinação com
<constant>PDO::FETCH_CLASS</constant> (e
<link linkend="pdo.fetch-modes.class-flags">suas outras opções</link>).
</para>
<para>
</simpara>
<simpara>
Quando este modo de busca é utilizado, a classe especificada deve ser
<interfacename>Serializable</interfacename>.
</para>
</simpara>
<caution>
<para>
<simpara>
Este recurso não suporta uma string que contenha um objeto serializado completo
(com <function>serialize</function>).
</para>
</simpara>
</caution>
<caution>
<para>
<simpara>
Este modo de busca não chama o construtor.
</para>
</simpara>
</caution>
<informalexample>
<programlisting role="php">
@@ -983,20 +984,20 @@ object(TestEntity)#5 (4) {
<section xml:id="pdo.constants.fetch-bound" annotations="chunk:false">
<title>PDO::FETCH_BOUND (<type>int</type>)</title>
<para>
<simpara>
Este modo de busca não pode ser usado com
<function>PDOStatement::fetchAll</function>.
</para>
<para>
<methodname>PDOStatement::fetchAll</methodname>.
</simpara>
<simpara>
Este modo de busca não retorna um resultado diretamente, mas associa valores a
variáveis especificadas com <function>PDOStatement::bindColumn</function>. O
variáveis especificadas com <methodname>PDOStatement::bindColumn</methodname>. O
método de busca chamado retorna &true;.
</para>
</simpara>
<note>
<para>
<simpara>
Ao usar instruções preparadas, para funcionar corretamente, as variáveis devem ser vinculadas
após a execução da consulta.
</para>
</simpara>
</note>
<programlisting role="php">
<![CDATA[
@@ -1036,29 +1037,29 @@ while ($stmt->fetch(\PDO::FETCH_BOUND)) {
<section xml:id="pdo.constants.fetch-into" annotations="chunk:false">
<title>PDO::FETCH_INTO (<type>int</type>)</title>
<para>
<simpara>
Este modo de busca não pode ser usado com
<function>PDOStatement::fetchAll</function>.
</para>
<para>
<methodname>PDOStatement::fetchAll</methodname>.
</simpara>
<simpara>
Este modo de busca atualiza as propriedades do objeto especificado. O objeto é
retornado em caso de sucesso.
</para>
<para>
</simpara>
<simpara>
Se uma propriedade com o nome de uma coluna retornada não existir, ela será
declarada dinamicamente. Esse comportamento está obsoleto e causará um erro
a partir do PHP 9.0.
</para>
<para>
</simpara>
<simpara>
Propriedades precisam ser <literal>public</literal> e não podem ser
<literal>readonly</literal>.
</para>
</simpara>
<caution>
<para>
<simpara>
Não há como alterar o objeto a ser atualizado sem usar
<function>PDOStatement::setFetchMode</function> entre a recuperação de cada
<methodname>PDOStatement::setFetchMode</methodname> entre a recuperação de cada
registro.
</para>
</simpara>
</caution>
<informalexample>
<programlisting role="php">
@@ -1103,34 +1104,34 @@ object(TestEntity)#3 (4) {
<section xml:id="pdo.constants.fetch-lazy" annotations="chunk:false">
<title>PDO::FETCH_LAZY (<type>int</type>)</title>
<para>
<simpara>
Este modo de busca não pode ser usado com
<function>PDOStatement::fetchAll</function>.
</para>
<para>
<methodname>PDOStatement::fetchAll</methodname>.
</simpara>
<simpara>
Este modo de busca retorna um objeto <classname>PDORow</classname> que fornece
acesso a valores tanto no formato de array quanto no formato de objeto (ou seja, combina o comportamento de
<constant>PDO::FETCH_BOTH</constant> e
<constant>PDO::FETCH_OBJ</constant>), recuperados de forma lenta.
</para>
<para>
</simpara>
<simpara>
Isso pode fornecer acesso eficiente em termos de memória (no lado do PHP) a resultados não armazenados em buffer
no servidor de banco de dados. Se o PDO usa buffer no lado do cliente para resultados
depende do driver específico do banco de dados usado (e de sua configuração).
</para>
</simpara>
<caution>
<para>
<simpara>
<classname>PDORow</classname> retornará <literal>NULL</literal> sem
qualquer erro ou aviso ao acessar propriedades ou chaves que não estejam definidas.
Isso pode dificultar a detecção e depuração de erros como erros de digitação ou consultas
que não retornam os dados esperados.
</para>
</simpara>
</caution>
<caution>
<para>
<simpara>
O objeto <classname>PDORow</classname> retornado é atualizado cada vez que um
resultado é recuperado.
</para>
</simpara>
</caution>
<programlisting role="php">
<![CDATA[
@@ -1164,26 +1165,26 @@ ID: 105
<section xml:id="pdo.constants.fetch-group" annotations="chunk:false">
<title>PDO::FETCH_GROUP (<type>int</type>)</title>
<para>
<simpara>
<constant>PDO::FETCH_GROUP</constant> retorna listas de arrays associativos,
indexados por uma coluna (não única). Este modo de busca funciona apenas com
<function>PDOStatement::fetchAll</function>.
</para>
<para>
<methodname>PDOStatement::fetchAll</methodname>.
</simpara>
<simpara>
Quando combinado com <constant>PDO::FETCH_UNIQUE</constant>, ambos os modos
usarão a mesma coluna, tornando a combinação desses modos inútil.
</para>
<para>
</simpara>
<simpara>
Esta busca deve ser combinada com uma das seguintes constantes:
<constant>PDO::FETCH_ASSOC</constant>, <constant>PDO::FETCH_BOTH</constant>,
<constant>PDO::FETCH_NAMED</constant>, <constant>PDO::FETCH_NUM</constant>,
<constant>PDO::FETCH_COLUMN</constant> ou
<constant>PDO::FETCH_FUNC</constant>.
</para>
<para>
</simpara>
<simpara>
Se nenhum modo de busca da lista acima for fornecido, o modo de busca padrão atual
para o <classname>PDOStatement</classname> será usado.
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -1241,11 +1242,11 @@ Array
]]>
</screen>
</informalexample>
<para>
<simpara>
No exemplo acima, pode ser observado que a primeira coluna é omitida do
array de cada linha, estando disponível apenas como chave. Ela pode ser incluída
repetindo a coluna, como no exemplo a seguir:
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
@@ -1312,43 +1313,43 @@ Array
<section xml:id="pdo.constants.fetch-unique" annotations="chunk:false">
<title>PDO::FETCH_UNIQUE (<type>int</type>)</title>
<para>
<simpara>
<constant>PDO::FETCH_UNIQUE</constant> usa a primeira coluna para indexar registros,
retornando 1 registro por valor de índice. Este modo de busca funciona apenas com
<function>PDOStatement::fetchAll</function>.
</para>
<para>
<methodname>PDOStatement::fetchAll</methodname>.
</simpara>
<simpara>
Quando combinado com <constant>PDO::FETCH_GROUP</constant>, ambos os modos usarão
a mesma coluna, tornando a combinação desses modos inútil.
</para>
<para>
</simpara>
<simpara>
Esta busca deve ser combinada com uma das seguintes constantes
<constant>PDO::FETCH_ASSOC</constant>, <constant>PDO::FETCH_BOTH</constant>,
<constant>PDO::FETCH_NAMED</constant>, <constant>PDO::FETCH_NUM</constant>,
<constant>PDO::FETCH_COLUMN</constant> ou
<constant>PDO::FETCH_FUNC</constant>.
</para>
<para>
</simpara>
<simpara>
Se nenhum modo de busca da lista acima for fornecido, o modo de busca padrão atual
para o <classname>PDOStatement</classname> será usado.
</para>
<para>
</simpara>
<simpara>
Quando usado com uma coluna que se sabe ser única (como o ID do registro), este
modo oferece a capacidade de retornar rapidamente resultados indexados por esse valor.
</para>
</simpara>
<note>
<para>
<simpara>
Se a primeira coluna não for única, valores serão perdidos.
Quais valores serão perdidos devem ser considerados indefinidos.
</para>
</simpara>
</note>
<caution>
<para>
<simpara>
A filtragem de registros deve ser feita em SQL sempre que possível.
O banco de dados usará índices para otimizar esse processo e retornar apenas os registros necessários.
Selecionar mais registros do que o necessário do banco de dados pode aumentar significativamente o
uso de memória e o tempo de consulta para conjuntos de resultados maiores.
</para>
</simpara>
</caution>
<informalexample>
<programlisting role="php">
@@ -1386,11 +1387,11 @@ Array
]]>
</screen>
</informalexample>
<para>
<simpara>
No exemplo acima, pode ser observado que a primeira coluna é omitida do
array de cada linha, estando disponível apenas como chave. Ela pode ser incluída
repetindo a coluna, como no exemplo a seguir:
</para>
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 812ed835faa11b611c112d2a16777aebf70eb020 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto,leonardolara -->
<!-- EN-Revision: 7e384b24f7e37c6b4caf735f3601179cc65ef8f9 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto,leonardolara -->
<!-- Generated by xml_proto.php v2.1. Found in /scripts directory of phpdoc. -->
<appendix xml:id="pdo.constants" xmlns="http://docbook.org/ns/docbook">
&reftitle.constants;
@@ -10,9 +10,9 @@
<section xml:id="pdo.constants.cursors" annotations="chunk:false">
<title>Cursores</title>
<para>
<simpara>
Veja também <constant>PDO::ATTR_CURSOR_NAME</constant>.
</para>
</simpara>
<variablelist>
<varlistentry xml:id="pdo.constants.fetch-ori-next">
@@ -104,8 +104,9 @@
</term>
<listitem>
<simpara>
Cria um objeto <classname>PDOStatement</classname> com um cursor rolável. Passe as
constantes <literal>PDO::FETCH_ORI_*</literal> para controlar as linhas buscadas do conjunto de resultados.
Cria um objeto <classname>PDOStatement</classname> com um cursor rolável.
Passe as constantes <constant>PDO::FETCH_ORI_<replaceable>*</replaceable></constant>
para controlar as linhas buscadas do conjunto de resultados.
</simpara>
</listitem>
</varlistentry>
@@ -169,7 +170,7 @@
Sinaliza que uma string usa o conjunto de caracteres nacional.
</simpara>
<simpara>
Disponível desde o PHP 7.2.0
Disponível a partir do PHP 7.2.0
</simpara>
</listitem>
</varlistentry>
@@ -183,7 +184,7 @@
Sinaliza que uma string usa o conjunto de caracteres regular.
</simpara>
<simpara>
Disponível desde o PHP 7.2.0
Disponível a partir do PHP 7.2.0
</simpara>
</listitem>
</varlistentry>
@@ -217,8 +218,8 @@
<listitem>
<simpara>
Especifica que o parâmetro é um parâmetro INOUT para um
procedimento armazenado. Você deve combinar esse valor com um tipo de dado explícito
PDO::PARAM_*.
procedimento armazenado. Esse valor deve ser combinado através de OR binário com uma das constantes
<constant>PDO::PARAM_<replaceable>*</replaceable></constant>.
</simpara>
</listitem>
</varlistentry>
@@ -241,10 +242,10 @@
</term>
<listitem>
<simpara>
Definir o tamanho do prefetch permite equilibrar a velocidade contra o uso de memória
para sua aplicação. Nem todas as combinações de banco de dados/driver suportam
a definição do tamanho do prefetch. Um tamanho de prefetch maior resulta em
um aumento de desempenho com o custo de maior uso de memória.
Definir o tamanho da pré-busca permite balancear entre velocidade e uso de memória
em uma aplicação. Nem todas as combinações de banco de dados e drivers suportam
a definição do tamanho do pré-busca. Um tamanho de pré-busca maior resulta em
um aumento de desempenho com o custo de um uso maior de memória.
</simpara>
</listitem>
</varlistentry>
@@ -325,8 +326,9 @@
</term>
<listitem>
<simpara>
Força os nomes das colunas para um caso específico especificado pelas
constantes <literal>PDO::CASE_*</literal>.
Força os nomes das colunas para um caso específico
definido pelas constantes
<constant>PDO::CASE_<replaceable>*</replaceable></constant>.
</simpara>
</listitem>
</varlistentry>
@@ -349,11 +351,11 @@
</term>
<listitem>
<simpara>
Seleciona o tipo de cursor. O PDO atualmente suporta apenas
<constant>PDO::CURSOR_FWDONLY</constant> e
<constant>PDO::CURSOR_SCROLL</constant>. Mantenha
<constant>PDO::CURSOR_FWDONLY</constant> a menos que saiba que precisa de um
cursor rolável.
Seleciona o tipo de cursor. O PDO atualmente suporta
<constant>PDO::CURSOR_FWDONLY</constant> ou
<constant>PDO::CURSOR_SCROLL</constant>.
A menos que haja necessidade de cursores roláveis, deve-se usar
o modo de cursor <constant>PDO::CURSOR_FWDONLY</constant>.
</simpara>
</listitem>
</varlistentry>
@@ -367,8 +369,8 @@
<simpara>
Retorna o nome do driver.
</simpara>
<para>
<example><title>using <constant>PDO::ATTR_DRIVER_NAME</constant></title>
<example>
<title>using <constant>PDO::ATTR_DRIVER_NAME</constant></title>
<programlisting role="php">
<![CDATA[
<?php
@@ -378,8 +380,7 @@
?>
]]>
</programlisting>
</example>
</para>
</example>
</listitem>
</varlistentry>
<varlistentry xml:id="pdo.constants.attr-oracle-nulls">
@@ -425,9 +426,9 @@
<listitem>
<simpara>
Adiciona o nome do catálogo contenedor a cada nome de coluna retornado no
conjunto de resultados. O nome do catálogo e o nome da coluna são separados por um ponto decimal
(.). O suporte deste atributo é no nível do driver; pode não
ser suportado pelo seu driver.
conjunto de resultados. O nome do catálogo e o nome da coluna são separados por um caractere
de ponto (.). O suporte deste atributo é no nível do driver; pode não
ser suportado pelo driver em uso.
</simpara>
</listitem>
</varlistentry>
@@ -439,9 +440,9 @@
<listitem>
<simpara>
Adiciona o nome da tabela contenedora a cada nome de coluna retornado no
conjunto de resultados. O nome da tabela e o nome da coluna são separados por um ponto
decimal (.). O suporte deste atributo é no nível do driver; pode não
ser suportado pelo seu driver.
conjunto de resultados. O nome da tabela e o nome da coluna são separados por um caractere
de ponto (.). O suporte deste atributo é no nível do driver; pode
não ser suportado pelo driver em uso.
</simpara>
</listitem>
</varlistentry>
@@ -502,7 +503,7 @@
e <constant>PDO::PARAM_STR_CHAR</constant>.
</simpara>
<simpara>
Disponível desde o PHP 7.2.0.
Disponível a partir do PHP 7.2.0.
</simpara>
</listitem>
</varlistentry>
@@ -513,8 +514,9 @@
</term>
<listitem>
<simpara>
Não gera um erro ou exceção se ocorrer um erro. O desenvolvedor é
esperado para verificar explicitamente os erros. Este é o modo padrão.
Não gera um erro ou exceção se ocorrer um erro.
É esperado que o próprio desenvolvedor verifique explicitamente os erros.
Anteriormente ao PHP 8.0.0, este era o modo padrão.
Consulte <link linkend="pdo.error-handling">Erros e tratamento de erros</link>
para mais informações sobre este atributo.
</simpara>
@@ -541,6 +543,7 @@
<listitem>
<simpara>
Lança uma <classname>PDOException</classname> se ocorrer um erro.
Este é o modo padrão a partir do PHP 8.0.0.
Consulte <link linkend="pdo.error-handling">Erros e tratamento de erros</link>
para mais informações sobre este atributo.
</simpara>
@@ -619,12 +622,14 @@
</term>
<listitem>
<simpara>
Corresponde a SQLSTATE '00000', significando que a instrução SQL foi
emitida com sucesso sem erros ou avisos. Esta constante é para
sua conveniência ao verificar <methodname>PDO::errorCode</methodname> ou
Corresponde a SQLSTATE <literal>'00000'</literal>, significando que a instrução SQL foi
emitida com sucesso sem erros ou avisos.
Esta constante é uma conveniência ao verificar
<methodname>PDO::errorCode</methodname> ou
<methodname>PDOStatement::errorCode</methodname> para determinar se ocorreu
um erro. Você geralmente saberá se este for o caso examinando o
código de retorno do método que gerou a condição de erro de qualquer maneira.
um erro.
De qualquer forma, isto geralmente é determinado pela verificação do código de retorno do método
que gerou a condição de erro.
</simpara>
</listitem>
</varlistentry>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: be8baf89c0016c1c39ab0b85cafca28c8364e95b Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
<!-- EN-Revision: 372350f3bfad45ba01db850a1a3be40c803e196b Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<refentry xml:id="function.session-gc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>session_gc</refname>
@@ -11,25 +11,34 @@
<type class="union"><type>int</type><type>false</type></type><methodname>session_gc</methodname>
<void/>
</methodsynopsis>
<para>
<function>session_gc</function> é usado para realizar o GC (coleta de lixo)
de dados da sessão. O PHP faz GC de sessão baseado em probabilidade
por padrão.
</para>
<para>
A coleta de lixo baseada em probabilidade funciona até certo ponto, mas possui alguns problemas. 1) Os dados
de sessão de sites com baixo tráfego podem não ser excluídos dentro do
período preferido. 2) A coleta de lixo em sites com alto tráfego pode ser muito frequente. 3) A coleta de lixo é
realizada mediante solicitação do usuário, e o usuário pode experimentar um atraso durante o processo de
coleta de lixo.
</para>
<para>
Portanto, é recomendado executar a coleta de lixo periodicamente
em sistemas de produção, utilizando, por exemplo, o "cron" para sistemas semelhantes ao UNIX.
Certifique-se de desativar a coleta de lixo baseada em probabilidade
definindo <link linkend="ini.session.gc-probability">session.gc_probability</link>
como 0.
</para>
<simpara>
Por padrão, o PHP usa <link linkend="ini.session.gc-probability">session.gc_probability</link>
para executar o coletor de lixo da sessão probabilisticamente em cada
requisição. Existem algumas limitações com essa abordagem:
</simpara>
<simplelist>
<member>Sites com baixo tráfego podem não ter seus dados de sessão excluídos dentro do período recomendado.</member>
<member>Em sites com alto tráfego, o coletor de lixo pode ser acionado com muita frequência, realizando trabalho extra desnecessário.</member>
<member>A coleta de lixo é realizada mediante solicitação do usuário, e o usuário pode experimentar um atraso.</member>
</simplelist>
<simpara>
Para sistemas de produção, recomenda-se desativar a
coleta de lixo baseada em probabilidade, definindo
<link linkend="ini.session.gc-probability">session.gc_probability</link> para <literal>0</literal>
e acionar explicitamente o coletor de lixo periodicamente, por exemplo, usando "cron" em
sistemas do tipo UNIX para executar um script que chama <function>session_gc</function>.
</simpara>
<note>
<simpara>
Ao chamar a função <function>session_gc</function> a partir de um script PHP de linha de comando,
a diretiva <link linkend="ini.session.save-path">session.save_path</link> deve ser definida
para o mesmo valor das requisições web, e o script deve ter permissões de acesso e exclusão
para os arquivos de sessão. Isso pode ser afetado pelo usuário que executa o script,
e por recursos de contêiner ou "caixa de areia", como a opção <literal>PrivateTmp=</literal>
do systemd.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
@@ -39,23 +48,24 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<simpara>
<function>session_gc</function> retorna o número de dados de sessão excluídos
em caso de sucesso e &false; em caso de falha.
</para>
<para>
Os manipuladores de salvamento antigos não retornam o número de dados de sessão excluídos, apenas
um indicativo de sucesso ou falha. Se este for o caso, o número de dados de sessão excluídos
se torna 1, independentemente dos dados realmente excluídos.
</para>
em caso de sucesso, &return.falseforfailure;.
</simpara>
<note>
<simpara>
Os manipuladores de salvamento de sessão antigos não retornam o número de dados de sessão excluídos, apenas
um indicativo de sucesso ou falha. Se este for o caso, o número de dados de sessão excluídos
se torna <literal>1</literal>, independentemente dos dados realmente excluídos.
</simpara>
</note>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemplo de <function>session_gc</function> para gerenciadores de tarefas como o cron</title>
<programlisting role="php">
<example>
<title>Exemplo de <function>session_gc</function> para gerenciadores de tarefas como o cron</title>
<programlisting role="php">
<![CDATA[
<?php
// Observação: Este script deve ser executado pelo mesmo usuário do processo do servidor web.
@@ -63,22 +73,22 @@
// É necessário ter uma sessão ativa para inicializar o acesso ao armazenamento de dados da sessão.
session_start();
// Execute a coleta de lixo (GC) imediatamente.
// Executa a coleta de lixo (GC) imediatamente.
session_gc();
// Limpa o ID da sessão criado pelo
// Limpa o ID da sessão criado pelo session_start()
session_destroy();
?>
]]>
</programlisting>
</example>
<example>
<title>Exemplo de <function>session_gc</function> para script acessível pelo usuário</title>
<programlisting role="php">
</programlisting>
</example>
<example>
<title>Exemplo de <function>session_gc</function> para script acessível pelo usuário</title>
<programlisting role="php">
<![CDATA[
<?php
// Observação: session_gc() é recomendado para ser usado por um script de gerenciador de tarefas, mas
// pode ser utilizado da seguinte forma.
// pode ser utilizado da forma abaixo.
// Usado para verificar o último horário de coleta de lixo (GC).
$gc_time = '/tmp/php_session_last_gc';
@@ -97,20 +107,17 @@ if (file_exists($gc_time)) {
}
?>
]]>
</programlisting>
</example>
</para>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>session_start</function></member>
<member><function>session_destroy</function></member>
<member><link linkend="ini.session.gc-probability">session.gc_probability</link></member>
</simplelist>
</para>
<simplelist>
<member><function>session_start</function></member>
<member><function>session_destroy</function></member>
<member><link linkend="ini.session.gc-probability">session.gc_probability</link></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: c1413dcaa87de5d9954e5ed90f3612993b7cb12c Maintainer: narigone Status: ready --><!-- CREDITS: narigone, fernandowobeto -->
<!-- EN-Revision: e80ef2394f0c64be66917a5d4335736ae05b774f Maintainer: leonardolara Status: ready --><!-- CREDITS: narigone, fernandowobeto, leonardolara -->
<refentry xml:id="function.http-build-query" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>http_build_query</refname>
<refpurpose>Gera a string de consulta (query) em formato URL</refpurpose>
<refpurpose>Gera a string de consulta em formato URL</refpurpose>
</refnamediv>
<refsect1 role="description">
@@ -16,7 +16,7 @@
<methodparam choice="opt"><type>int</type><parameter>encoding_type</parameter><initializer><constant>PHP_QUERY_RFC1738</constant></initializer></methodparam>
</methodsynopsis>
<para>
Gera a string de consulta (query) em formato URL a partir de um array
Gera a string de consulta em formato URL a partir de um array
associativo (ou indexado).
</para>
</refsect1>
@@ -109,6 +109,13 @@
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Anteriormente ao PHP 8.4.0, a propriedades <interfacename>BackedEnum</interfacename> de
<parameter>data</parameter> eram convertidas para objetos, em vez de seus equivalentes escalares.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>