<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/phar.fileformat.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'phar.fileformat.comparison.php',
    1 => 'Comparaci&oacute;n entre Phar, Tar y Zip',
    2 => 'Comparaci&oacute;n entre Phar, Tar y Zip',
  ),
  'up' => 
  array (
    0 => 'phar.fileformat.php',
    1 => '&iquest;Qu&eacute; hace que un phar sea un phar y no un tar o un zip?',
  ),
  'prev' => 
  array (
    0 => 'phar.fileformat.stub.php',
    1 => 'El contenedor de archivo Phar',
  ),
  'next' => 
  array (
    0 => 'phar.fileformat.tar.php',
    1 => 'Los phars basados en Tar',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/phar/fileformat.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="phar.fileformat.comparison" class="section">
  <h2 class="title">Comparación entre Phar, Tar y Zip</h2>
  <p class="para">
   ¿Cuáles son las ventajas y desventajas de cada uno de los tres formatos soportados
   por la extensión phar? Esta tabla intenta responder a esta pregunta.
   <table class="doctable table">
    <caption><strong>Tabla comparativa: Phar, Tar y Zip</strong></caption>
    
     <thead>
      <tr>
       <th>Funcionalidad</th>
       <th>Phar</th>
       <th>Tar</th>
       <th>Zip</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>Formato de archivo estándar</td>
       <td>No</td>
       <td>Sí</td>
       <td>Sí</td>
      </tr>

      <tr>
       <td>Puede ser ejecutado sin la extensión Phar
        <a href="phar.fileformat.comparison.php#phar.fileformat.phartip" class="link">[1]</a>
       </td>
       <td>Sí</td>
       <td>No</td>
       <td>No</td>
      </tr>

      <tr>
       <td>Compresión por archivo</td>
       <td>Sí</td>
       <td>No</td>
       <td>Sí</td>
      </tr>

      <tr>
       <td>Compresión para todo el archivo</td>
       <td>Sí</td>
       <td>Sí</td>
       <td>No</td>
      </tr>

      <tr>
       <td>Validación por firma de todo el archivo</td>
       <td>Sí</td>
       <td>Sí</td>
       <td>Sí</td>
      </tr>

      <tr>
       <td>Soporte de aplicaciones específicamente web</td>
       <td>Sí</td>
       <td>Sí</td>
       <td>Sí</td>
      </tr>

      <tr>
       <td>Metadatos por archivo</td>
       <td>Sí</td>
       <td>Sí</td>
       <td>Sí</td>
      </tr>

      <tr>
       <td>Metadatos para todo el archivo</td>
       <td>Sí</td>
       <td>Sí</td>
       <td>Sí</td>
      </tr>

      <tr>
       <td>Creación/modificación de archivo
        <a href="phar.fileformat.comparison.php#phar.fileformat.phartip2" class="link">[2]</a>
       </td>
       <td>Sí</td>
       <td>Sí</td>
       <td>Sí</td>
      </tr>

      <tr>
       <td>Soporte completo de todas las funciones de flujo</td>
       <td>Sí</td>
       <td>Sí</td>
       <td>Sí</td>
      </tr>

      <tr>
       <td>Puede ser creado/modificado incluso si phar.readonly=1
        <a href="phar.fileformat.comparison.php#phar.fileformat.phartip3" class="link">[3]</a>
       </td>
       <td>No</td>
       <td>Sí</td>
       <td>Sí</td>
      </tr>

     </tbody>
    
   </table>

  </p>
  <p class="para" id="phar.fileformat.phartip">
   <div class="tip"><strong class="tip">Sugerencia</strong>
    <p class="para">
     [1] PHP no puede acceder directamente al contenido de un archivo Phar sin que la extensión
     Phar esté instalada si utiliza un <code class="literal">contenedor</code>
     que extrae el contenido del archivo phar. El contenedor
     creado por <span class="function"><a href="phar.createdefaultstub.php" class="function">Phar::createDefaultStub()</a></span> extrae
     el archivo phar y ejecuta su contenido desde un directorio temporal si
     no se encuentra ninguna extensión phar.
    </p>
   </div>
  </p>
  <p class="para" id="phar.fileformat.phartip2">
   <div class="tip"><strong class="tip">Sugerencia</strong>
    <p class="para">
     [2] Todos los accesos en escritura requieren que <code class="literal">phar.readonly</code> esté
     desactivado en el php.ini o directamente desde la línea de comandos.
    </p>
   </div>
  </p>
  <p class="para" id="phar.fileformat.phartip3">
   <div class="tip"><strong class="tip">Sugerencia</strong>
    <p class="para">
     [3] Solo los archivos tar o zip sin <code class="literal">.phar</code> en su
     nombre y sin contenedor ejecutable <code class="literal">.phar/stub.php</code>
     pueden ser creados si phar.readonly=1.
    </p>
   </div>
  </p>
 </div><?php manual_footer($setup); ?>