<?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 => 'ru',
  ),
  'this' => 
  array (
    0 => 'phar.fileformat.comparison.php',
    1 => 'Сравнение Phar, Tar и Zip',
    2 => 'Сравнение Phar, Tar и Zip',
  ),
  'up' => 
  array (
    0 => 'phar.fileformat.php',
    1 => 'Чем отличается phar от tar- или zip-архива?',
  ),
  'prev' => 
  array (
    0 => 'phar.fileformat.stub.php',
    1 => 'Заглушка Phar-файла',
  ),
  'next' => 
  array (
    0 => 'phar.fileformat.tar.php',
    1 => 'Phar-архивы, основанные на tar',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    '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">Сравнение Phar, Tar и Zip</h2>
  <p class="para">
   Что хорошего и плохого в трёх поддерживаемых форматах файла в модуле phar?
   В этой таблице предпринята попытка решить этот вопрос.
   <table class="doctable table">
    <caption><strong>Матрица функционала: Phar против Tar против Zip</strong></caption>
    
     <thead>
      <tr>
       <th>Функционал</th>
       <th>Phar</th>
       <th>Tar</th>
       <th>Zip</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>Стандартный формат файла</td>
       <td>Нет</td>
       <td>Да</td>
       <td>Да</td>
      </tr>

      <tr>
       <td>Возможно выполнение без модуля Phar
        <a href="phar.fileformat.comparison.php#phar.fileformat.phartip" class="link">[1]</a>
       </td>
       <td>Да</td>
       <td>Нет</td>
       <td>Нет</td>
      </tr>

      <tr>
       <td>Пофайловое сжатие</td>
       <td>Да</td>
       <td>Нет</td>
       <td>Да</td>
      </tr>

      <tr>
       <td>Сжатие всего архива</td>
       <td>Да</td>
       <td>Да</td>
       <td>Нет</td>
      </tr>

      <tr>
       <td>Проверка подписи всего архива</td>
       <td>Да</td>
       <td>Да</td>
       <td>Да</td>
      </tr>

      <tr>
       <td>Поддержка веб-приложений</td>
       <td>Да</td>
       <td>Да</td>
       <td>Да</td>
      </tr>

      <tr>
       <td>Пофайловые метаданные</td>
       <td>Да</td>
       <td>Да</td>
       <td>Да</td>
      </tr>

      <tr>
       <td>Метаданные всего архива</td>
       <td>Да</td>
       <td>Да</td>
       <td>Да</td>
      </tr>

      <tr>
       <td>Создание/изменение архива
        <a href="phar.fileformat.comparison.php#phar.fileformat.phartip2" class="link">[2]</a>
       </td>
       <td>Да</td>
       <td>Да</td>
       <td>Да</td>
      </tr>

      <tr>
       <td>Полная поддержка всех функций - обёрток потока</td>
       <td>Да</td>
       <td>Да</td>
       <td>Да</td>
      </tr>

      <tr>
       <td>Может быть создан/изменён, даже если phar.readonly=1
        <a href="phar.fileformat.comparison.php#phar.fileformat.phartip3" class="link">[3]</a>
       </td>
       <td>Нет</td>
       <td>Да</td>
       <td>Да</td>
      </tr>

     </tbody>
    
   </table>

  </p>
  <p class="para" id="phar.fileformat.phartip">
   <div class="tip"><strong class="tip">Подсказка</strong>
    <p class="para">
     [1] Без модуля Phar PHP может получить прямой доступ к содержимому
     Phar-архива только в том случае, если в нём используется <code class="literal">заглушка</code>,
     которая извлекает содержимое phar-архива. Заглушка,
     созданная при помощи <span class="function"><a href="phar.createdefaultstub.php" class="function">Phar::createDefaultStub()</a></span>, распаковывает
     phar-архив и запускает его содержимое из временного каталога в том случае,
     если не был найден модуль phar.
    </p>
   </div>
  </p>
  <p class="para" id="phar.fileformat.phartip2">
   <div class="tip"><strong class="tip">Подсказка</strong>
    <p class="para">
     [2] Для доступа на запись требуется, чтобы был отключён параметр <code class="literal">phar.readonly</code>
     в php.ini или непосредственно в консоли.
    </p>
   </div>
  </p>
  <p class="para" id="phar.fileformat.phartip3">
   <div class="tip"><strong class="tip">Подсказка</strong>
    <p class="para">
     [3] Только архивы tar и zip без <code class="literal">.phar</code> в
     имени файла и без исполняемой заглушки <code class="literal">.phar/stub.php</code>
     могут быть созданы, если phar.readonly=1.
    </p>
   </div>
  </p>
 </div><?php manual_footer($setup); ?>