sync with en rev

This commit is contained in:
Leonardo Lara Rodrigues
2025-02-23 13:42:28 -03:00
parent 72086dd224
commit d6be0cc762
12 changed files with 119 additions and 83 deletions

View File

@@ -41,7 +41,7 @@ opcache.enable_cli=On
Se um alto desempenho é requerido, deve-se usar cache de objetos na aplicação.
Consulte: <link xlink:href="&url.pecl.package;WinCache">http://pecl.php.net/package/WinCache</link>
Consulte: <link xlink:href="&url.pecl.package;WinCache">&url.pecl.package;WinCache</link>
para baixar uma DLL WinCache (or <filename>WINCACHE_<replaceable>*</replaceable>.tgz</filename>)
para o diretório de extensões do PHP
(<link linkend="ini.extension-dir">extension_dir</link> no <filename>php.ini</filename>).

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 44ae7cb94991c11c93bc23f8a6544f81bb36cf1a Maintainer: leonardolara Status: ready --><!-- CREDITS: fabioluciano,geekcom,lhsazevedo,leonardolara -->
<!-- EN-Revision: 53a400680d0cb2ddabd4493fb9846533c422e90d Maintainer: leonardolara Status: ready --><!-- CREDITS: fabioluciano,geekcom,lhsazevedo,leonardolara -->
<sect1 xml:id="control-structures.foreach" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>foreach</title>
<?phpdoc print-version-for="foreach"?>
@@ -49,8 +49,8 @@ foreach (expressão_iterável as $chave => $valor) {
<programlisting role="php">
<![CDATA[
<?php
/* Exemplo: somente valor */
/* Exemplo: somente valor */
$array = [1, 2, 3, 17];
foreach ($array as $value) {
@@ -58,7 +58,6 @@ foreach ($array as $value) {
}
/* Exemplo: chave e valor */
$array = [
"um" => 1,
"dois" => 2,
@@ -84,7 +83,6 @@ foreach ($grid as $y => $row) {
}
/* Exemplo: arrays dinâmicos */
foreach (range(1, 5) as $value) {
echo "$value\n";
}

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 21e1338e9721534c00085ff3cff25e2dd2e84dc9 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
<refentry xml:id="domxpath.evaluate" xmlns="http://docbook.org/ns/docbook">
<!-- EN-Revision: 01904e809eaf0aa60e7ce0524400ddd5681c9541 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto,leonardolara -->
<refentry xml:id="domxpath.evaluate" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<refnamediv>
<refname>DOMXPath::evaluate</refname>
<refpurpose>
@@ -46,6 +46,7 @@
</variablelist>
</para>
</refsect1>
<xi:include xpointer="domxpath.query..errors" />
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 21e1338e9721534c00085ff3cff25e2dd2e84dc9 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
<!-- EN-Revision: 01904e809eaf0aa60e7ce0524400ddd5681c9541 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto,leonardolara -->
<refentry xml:id="domxpath.query" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>DOMXPath::query</refname>
@@ -59,6 +59,35 @@
<methodname>DOMXPath::query</methodname> retorna &false;.
</para>
</refsect1>
<refsect1 role="errors" xml:id="domxpath.query..errors">
&reftitle.errors;
<simpara>
Os seguintes erros são possíveis ao usar uma expressão que invoca
retornos de chamada PHP.
</simpara>
<itemizedlist>
<listitem>
<simpara>
Lança um <exceptionname>Error</exceptionname> se
um retorno de chamada do PHP for invocado, mas não houver nenhum retorno de chamada registrado
ou se o retorno de chamada nomeado não tiver sido registrado.
</simpara>
</listitem>
<listitem>
<simpara>
Lança um <exceptionname>TypeError</exceptionname> se
a sintaxe <literal>php:function</literal> for usada e o nome do manipulador
não for uma string.
</simpara>
</listitem>
<listitem>
<simpara>
Lança um <exceptionname>Error</exceptionname> se
um objeto não DOM foi retornado de um retorno de chamada.
</simpara>
</listitem>
</itemizedlist>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 2bd9a67c8c6c5961189f868364837a5c3ba7e063 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<!-- EN-Revision: 01904e809eaf0aa60e7ce0524400ddd5681c9541 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto, leonardolara -->
<refentry xml:id="domxpath.registerphpfunctions" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>DOMXPath::registerPhpFunctions</refname>
@@ -48,6 +48,25 @@
</para>
</refsect1>
<refsect1 role="errors" xml:id="domxpath.registerphpfunctions..errors">
&reftitle.errors;
<itemizedlist>
<listitem>
<simpara>
Lança uma exceção <exceptionname>ValueError</exceptionname> se
um nome de chamada de retorno não for válido.
</simpara>
</listitem>
&dom.errors.compliant.common;
<listitem>
<simpara>
Lança uma exceção <exceptionname>TypeError</exceptionname> se
uma função de retorno informada não for chamável.
</simpara>
</listitem>
</itemizedlist>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
@@ -59,6 +78,15 @@
</row>
</thead>
<tbody>
<row xml:id="domxpath.registerphpfunctions..changelog.errors">
<entry>8.4.0</entry>
<entry>
Nomes de retorno de chamada inválidos agora lançam uma exceção
<exceptionname>ValueError</exceptionname>.
Passar uma entrada que não pode ser chamada agora lança uma exceção
<exceptionname>TypeError</exceptionname>.
</entry>
</row>
<row>
<entry>8.4.0</entry>
<entry>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 762b61c66262a1e0c329dacdcc3be6f1702c299d Maintainer: leonardolara Status: ready --><!-- CREDITS: rogeriopradoj,lisaldo,rogeriopradoj,leonardolara -->
<!-- EN-Revision: e302f07943465892db7f72469e2ce9b42c4f763f Maintainer: leonardolara Status: ready --><!-- CREDITS: rogeriopradoj,lisaldo,rogeriopradoj,leonardolara -->
<refentry xml:id="function.password-hash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>password_hash</refname>
@@ -34,9 +34,9 @@
</listitem>
<listitem>
<simpara>
<constant>PASSWORD_BCRYPT</constant> - Usa o algoritmo <constant>CRYPT_BLOWFISH</constant> para
<constant>PASSWORD_BCRYPT</constant> - Usa o algoritmo bcrypt para
criar o hash. Produzirá um hash compatível com o padrão <function>crypt</function> usando
o identificador "$2y$". O resultado será sempre uma string de 60 caracteres, &return.falseforfailure;.
o identificador <literal>$2y$</literal>. O resultado será sempre uma string de 60 caracteres, &return.falseforfailure;.
</simpara>
</listitem>
<listitem>
@@ -81,8 +81,8 @@
Exemplos desses valores podem ser encontrados na página da função <function>crypt</function>.
</para>
<para>
Se omitido, um valor padrão <literal>10</literal> será usado. Este é um bom
patamar de custo, mas pode-se considerar aumentar esse valor dependendo do hardware.
Se omitido, um valor padrão <literal>12</literal> será usado. Este é um bom
patamar de custo, mas pode-se considerar ajuste nesse valor dependendo do hardware.
</para>
</listitem>
</itemizedlist>
@@ -153,10 +153,6 @@
<para>
&password.parameter.options;
</para>
<para>
Se omitido, um salt aleatório será gerado e o custo padrão será
usado.
</para>
</listitem>
</varlistentry>
</variablelist>
@@ -187,6 +183,14 @@
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
O valor padrão da opção <literal>cost</literal> do algoritmo
<constant>PASSWORD_BCRYPT</constant> foi aumentado de
<literal>10</literal> para <literal>12</literal>.
</entry>
</row>
<row>
<entry>8.3.0</entry>
<entry>
@@ -265,7 +269,7 @@ echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
&example.outputs.similar;
<screen>
<![CDATA[
$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
$2y$12$4Umg0rCJwMswRw/l.SwHvuQV01coP0eWmGzd61QH2RvAOMANUBGC.
]]>
</screen>
</example>
@@ -277,11 +281,10 @@ $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
<![CDATA[
<?php
/**
* Neste caso, o objetivo é aumentar o custo padrão de BCRYPT para 12.
* Note que agora o algortimo foi trocado para PASSWORD_BCRYPT, que sempre terá 60 caracteres.
* Neste caso, o objetivo é aumentar o custo padrão de BCRYPT para 13.
*/
$options = [
'cost' => 12,
'cost' => 13,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
?>
@@ -290,7 +293,7 @@ echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
&example.outputs.similar;
<screen>
<![CDATA[
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
$2y$13$xeDfQumlmdm0Sco.4qmH1OGfUUmOcuRmfae0dPJhjX1Bq0yYhqbNi
]]>
</screen>
</example>
@@ -303,14 +306,14 @@ $2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
<?php
/**
* Este código irá verificar o desempenho do servidor para determinar o quanto pode-se aumentar
* o custo. O objetivo é aumentar o custo ao valor mais alto possível sem deixar o servidor muito
* lento. 10 é um bom ponto de partida, e um valor maior será bom se o servidor for
* o custo. O objetivo é aumentar o custo ao valor mais alto possível sem deixar o servidor
* muito lento. 11 é um bom ponto de partida, e um valor maior será bom se o servidor for
* rápido o suficiente. O código abaix mira em ≤ 350 milissegundos de tempo adicional,
* que é um atraso adequado para sistemas que lidam com logins interativos.
*/
$timeTarget = 0.350; // 350 milissegundos
$cost = 10;
$cost = 11;
do {
$cost++;
$start = microtime(true);
@@ -325,7 +328,7 @@ echo "Custo Apropriado Encontrado: " . $cost;
&example.outputs.similar;
<screen>
<![CDATA[
Custo Apropriado Encontrado: 12
Custo Apropriado Encontrado: 13
]]>
</screen>
</example>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: ff492e168a557e4dd17574023b7c3cb21b14df3b Maintainer: leonardolara Status: ready --><!-- CREDITS: rogeriopradoj,leonardolara -->
<!-- EN-Revision: e302f07943465892db7f72469e2ce9b42c4f763f Maintainer: leonardolara Status: ready --><!-- CREDITS: rogeriopradoj,leonardolara -->
<refentry xml:id="function.password-needs-rehash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
@@ -96,11 +96,11 @@
<?php
$password = 'rasmuslerdorf';
$hash = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';
$hash = '$2y$12$4Umg0rCJwMswRw/l.SwHvuQV01coP0eWmGzd61QH2RvAOMANUBGC.';
$algorithm = PASSWORD_BCRYPT;
// o parâmetro de custo de bcrypt pode mudar com o tempo com a evloução dos equipamentos
$options = ['cost' => 12];
$options = ['cost' => 13];
// Verifica o hash armazenado comparando com uma senha em texto puro
if (password_verify($password, $hash)) {

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5bc68add3da3cd18c40f851e944b15095d3a26aa Maintainer: leonardolara Status: ready --><!-- CREDITS: rogeriopradoj,leonardolara -->
<!-- EN-Revision: 5baba54a67be43d689970983cfc6d24debad1ce0 Maintainer: leonardolara Status: ready --><!-- CREDITS: rogeriopradoj,leonardolara -->
<refentry xml:id="function.password-verify" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>password_verify</refname>
@@ -72,7 +72,7 @@
<![CDATA[
<?php
// Veja o exemplo de password_hash() para ver de onde veio esta string.
$hash = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';
$hash = '$2y$12$4Umg0rCJwMswRw/l.SwHvuQV01coP0eWmGzd61QH2RvAOMANUBGC.';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Senha válida!';
@@ -98,7 +98,6 @@ Senha válida!
<simplelist>
<member><function>password_needs_rehash</function></member>
<member><function>password_hash</function></member>
<member><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="&url.password.compat;">implementação no espaço de usuário</link></member>
<member><function>sodium_crypto_pwhash_str_verify</function></member>
</simplelist>
</para>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4d8af0862acd95744e96db9e611a9e6c1b02521e Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe, adiel, leonardolara -->
<refentry xml:id="xsltprocessor.registerphpfunctions" xmlns="http://docbook.org/ns/docbook">
<!-- EN-Revision: 01904e809eaf0aa60e7ce0524400ddd5681c9541 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe, adiel, leonardolara -->
<refentry xml:id="xsltprocessor.registerphpfunctions" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<refnamediv>
<refname>XSLTProcessor::registerPHPFunctions</refname>
<refpurpose>Habilita o uso de funções do PHP como funções XSLT</refpurpose>
@@ -40,6 +40,8 @@
</para>
</refsect1>
<xi:include xpointer="domxpath.registerphpfunctions..errors" />
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
@@ -58,6 +60,7 @@
</row>
</thead>
<tbody>
<xi:include xpointer="domxpath.registerphpfunctions..changelog.errors" />
<row>
<entry>8.4.0</entry>
<entry>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 256782d03224fa268ebf0111ce5f6bbf27897ab3 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,leonardolara -->
<refentry xml:id="xsltprocessor.transformtodoc" xmlns="http://docbook.org/ns/docbook">
<!-- EN-Revision: 01904e809eaf0aa60e7ce0524400ddd5681c9541 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,leonardolara -->
<refentry xml:id="xsltprocessor.transformtodoc" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<refnamediv>
<refname>XSLTProcessor::transformToDoc</refname>
<refpurpose>Transforma em um documento</refpurpose>
@@ -45,6 +45,9 @@
</variablelist>
</para>
</refsect1>
<xi:include xpointer="domxpath.query..errors" />
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
@@ -52,27 +55,7 @@
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Adicionado suporte para <classname>Dom\Document</classname>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<xi:include xpointer="xsltprocessor.transformtouri..changelog" />
<refsect1 role="examples">
&reftitle.examples;

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 256782d03224fa268ebf0111ce5f6bbf27897ab3 Maintainer: leonardolara Status: ready -->
<refentry xml:id="xsltprocessor.transformtouri" xmlns="http://docbook.org/ns/docbook">
<!-- EN-Revision: 01904e809eaf0aa60e7ce0524400ddd5681c9541 Maintainer: leonardolara Status: ready -->
<refentry xml:id="xsltprocessor.transformtouri" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<refnamediv>
<refname>XSLTProcessor::transformToURI</refname>
<refpurpose>Transforma em URI</refpurpose>
@@ -42,6 +42,8 @@
</para>
</refsect1>
<xi:include xpointer="domxpath.query..errors" />
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
@@ -49,7 +51,7 @@
</para>
</refsect1>
<refsect1 role="changelog">
<refsect1 role="changelog" xml:id="xsltprocessor.transformtouri..changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
@@ -60,6 +62,13 @@
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Agora lança uma exceção <exceptionname>Error</exceptionname> se a função de retorno
não puder ser chamada, em vez de emitir um alerta.
</entry>
</row>
<row>
<entry>8.4.0</entry>
<entry>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 256782d03224fa268ebf0111ce5f6bbf27897ab3 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,leonardolara -->
<!-- EN-Revision: 01904e809eaf0aa60e7ce0524400ddd5681c9541 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,leonardolara -->
<refentry xml:id="xsltprocessor.transformtoxml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<refnamediv>
<refname>XSLTProcessor::transformToXml</refname>
@@ -21,6 +21,9 @@
<xi:fallback/>
</xi:include>
</refsect1>
<xi:include xpointer="domxpath.query..errors" />
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
@@ -28,27 +31,7 @@
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Adicionado suporte para <classname>Dom\Document</classname>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<xi:include xpointer="xsltprocessor.transformtouri..changelog" />
<refsect1 role="examples">
&reftitle.examples;