Files
archived-doc-pt-br/reference/xdiff/functions/xdiff-string-rabdiff.xml
Leonardo Lara Rodrigues dba30ac2db sync with en rev
2025-11-28 09:42:35 -03:00

118 lines
3.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 480cc8a9efdb0d2cb1a12bc5c3bab80875a099ee Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.xdiff-string-rabdiff" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>xdiff_string_rabdiff</refname>
<refpurpose>
Gera a diferença binária de duas strings usando o algoritmo de impressão digital polinomial de Rabin
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>xdiff_string_rabdiff</methodname>
<methodparam><type>string</type><parameter>old_data</parameter></methodparam>
<methodparam><type>string</type><parameter>new_data</parameter></methodparam>
</methodsynopsis>
<para>
Cria uma comparação binária de duas strings usando o algoritmo de impressão digital polinomial de Rabin implementado pela
<link xlink:href="&url.xdiff;">libxdiff</link>. Comparada à
<function>xdiff_string_bdiff</function>, este algoritmo geralmente produz diferenças menores, é mais rápido
e mantém compatibilidade totol com <function>xdiff_string_bpatch</function> e
<function>xdiff_file_bpatch</function> para aplicação das diferenças.
</para>
<para>
Esta função pode ser usada com texto ou com dados binários. Os dados de diferença resultantes podem ser
aplicados posteriormente para recriar a nova versão a partir da antiga.
</para>
<para>
Para mais informação sobre o algoritmo, consulte a
<link xlink:href="https://www.xmailserver.org/xdiff-lib.html">documentação da libxdiff</link>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>old_data</parameter></term>
<listitem>
<para>
A primeira string contendo os dados binários "antigos".
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>new_data</parameter></term>
<listitem>
<para>
A segunda string contendo os "novos" dados binários.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna uma string com diferença binária entre os dados antigos e novos,&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Criação de diferença binária entre duas strings</title>
<programlisting role="php">
<![CDATA[
<?php
$old = file_get_contents('file_v1.txt');
$new = file_get_contents('file_v2.txt');
$diff = xdiff_string_rabdiff($old, $new);
file_put_contents('patch.rdiff', $diff);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>xdiff_string_bdiff</function></member>
<member><function>xdiff_string_bpatch</function></member>
<member><function>xdiff_file_bpatch</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->