PharData::convertToExecutable
  実行可能でない tar/zip アーカイブを実行可能な phar アーカイブ形式に変換する
  
 
  説明
  
   public Pharnull PharData::convertToExecutable(intnull $format = null, intnull $compression = null, stringnull $extension = null)
  注意: 
このメソッドは、php.ini の phar.readonly
が 0 でないと Phar
オブジェクトで動作しません。それ以外の場合は
PharException がスローされます。
  
   このメソッドは、実行可能でない tar あるいは zip アーカイブを実行可能な
   phar 形式に変換します。実行可能なファイル形式 3 種類 (phar, tar あるいは zip)
   のどれでも使用することができ、アーカイブ全体の圧縮も行うことができます。
  
  
   何も変更しなかった場合、このメソッドは
   BadMethodCallException をスローします。
  
  
   成功した場合は、このメソッドはディスク上に新しいアーカイブを作成して
   Phar オブジェクトを返します。
   古いアーカイブは削除されずディスク上に残るので、
   処理を終えたら手動で削除する必要があります。
  
  
 
  パラメータ
  
   
    
     - 
format
- 
      
       これは Phar::PHAR、Phar::TARあるいはPhar::ZIPのいずれかとなります。nullを指定すると、現在のファイル形式をそのまま保持します。
 
- 
compression
- 
      
       アーカイブ全体の圧縮を行わない場合は Phar::NONE、
       zlib による圧縮の場合はPhar::GZ、そして bzip による圧縮の場合はPhar::BZ2のいずれかを指定します。
 
- 
extension
- 
      
       このパラメータは、変換後のアーカイブのデフォルトのファイル拡張子を変更します。
       実行可能でない tar や zip アーカイブのファイル名としては
       .pharは使用できないことに注意しましょう。
 
       phar 形式のアーカイブに変換する場合、デフォルトの拡張子は圧縮形式によって
       .phar、.phar.gzあるいは.phar.bz2のいずれかとなります。tar 形式のアーカイブの場合、デフォルトの拡張子は.phar.tar、.phar.tar.gzおよび.phar.tar.bz2です。zip 形式のアーカイブの場合、
       デフォルトの拡張子は.phar.zipとなります。
 
 
 
  戻り値
  
   このメソッドは、成功した場合に Phar
   オブジェクトを返します。失敗した場合は null を返します。
  
  
 
  エラー / 例外
  
   圧縮ができない場合や無効な圧縮方式が指定された場合、あるいは
   Phar::startBuffering でバッファリングしたまま
   Phar::stopBuffering を実行していないアーカイブを処理しようとした場合に
   BadMethodCallException をスローします。
   また、書き込みサポートが無効な場合に
   UnexpectedValueException、
   phar 作成中に何らかの問題が発生した場合に
   PharException をスローします。
  
  
 
 
  例
  
   
    例1 PharData::convertToExecutable の例
    
     PharData::convertToExecutable() の使用例です。
    
<?php
try {
    $tarphar = new PharData('myphar.tar');
    // phar ファイル形式に変換します
    // myphar.tar は削除 *されない* ことに注意しましょう
    $phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
    $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
    // myphar.phar.tgz を作成します
    $compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
    // ここでエラー処理をします
}
?>
 
    
  
  
 
  参考
  
   
    - Phar::convertToExecutable
- Phar::convertToData
- PharData::convertToData