]> granicus.if.org Git - php/commitdiff
refactor compress/convertToTar/convertToPhar/convertToZip/convertToExecutable/convert...
authorGreg Beaver <cellog@php.net>
Fri, 11 Apr 2008 04:20:15 +0000 (04:20 +0000)
committerGreg Beaver <cellog@php.net>
Fri, 11 Apr 2008 04:20:15 +0000 (04:20 +0000)
into 2 methods:
convertToExecutable/convertToData.  Both methods accept 3 optional parameters
1 archive type, Phar::PHAR, Phar::TAR, or Phar::ZIP
2 compression Phar::NONE, Phar::GZ, or Phar::BZ2
3 file extension.  Default is <format>.<compression> where .phar.tar is executable .tar
convertToExecutable always returns a Phar object
convertToData always returns a PharData object
also added Phar::PHAR, Phar::TAR, and Phar::ZIP class constants
[DOC]

14 files changed:
ext/phar/phar_internal.h
ext/phar/phar_object.c
ext/phar/tests/phar_convert_repeated.phpt
ext/phar/tests/phar_convert_repeated_b.phpt
ext/phar/tests/phar_convert_tar.phpt
ext/phar/tests/phar_convert_tar2.phpt
ext/phar/tests/phar_convert_tar3.phpt
ext/phar/tests/phar_convert_zip.phpt
ext/phar/tests/tar/phar_convert_phar.phpt
ext/phar/tests/tar/phar_convert_phar2.phpt
ext/phar/tests/tar/phar_convert_phar3.phpt
ext/phar/tests/tar/tar_makebz2.phpt
ext/phar/tests/tar/tar_makegz.phpt
ext/phar/tests/zip/phar_convert_phar.phpt

index 384b5b2b0b472df37152f4ac676011de1a45f615..a68b64667c9143c53672794847812d278b67bd26 100755 (executable)
 #define PHAR_ENT_PERM_DEF_FILE    0x000001B6
 #define PHAR_ENT_PERM_DEF_DIR     0x000001FF
 
+#define PHAR_FORMAT_PHAR    0
+#define PHAR_FORMAT_TAR     1
+#define PHAR_FORMAT_ZIP     2
+
 #define TAR_FILE    '0'
 #define TAR_LINK    '1'
 #define TAR_SYMLINK '2'
index c23ea9c0daf8b2d0095efe3557e95687d8aaac34..c72d6939982f39304eb6172de7926b32b7d0b757 100755 (executable)
@@ -1744,10 +1744,10 @@ static zval *phar_convert_to_other(phar_archive_data *source, int convert, char
 
        phar->is_data = source->is_data;
        switch (convert) {
-               case 1 :
+               case PHAR_FORMAT_TAR :
                        phar->is_tar = 1;
                        break;
-               case 2 :
+               case PHAR_FORMAT_ZIP :
                        phar->is_zip = 1;
                        break;
                default :
@@ -1822,110 +1822,65 @@ static zval *phar_convert_to_other(phar_archive_data *source, int convert, char
 }
 /* }}} */
 
-/* {{{ proto object Phar::convertToTar([string file_ext])
- * Convert a phar or phar.zip archive to the tar file format. The first
- * parameter can be one of Phar::GZ or Phar::BZ2 to specify whole-file
- * compression. The second parameter allows the user to determine the new
- * filename extension (default is phar.tar/phar.tar.bz2/phar.tar.gz).
- * Both parameters are optional.
- */
-PHP_METHOD(Phar, convertToTar)
-{
-       char *ext = NULL;
-       int ext_len = 0, save;
-       zval *ret;
-       PHAR_ARCHIVE_OBJECT();
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) {
-               return;
-       }
-
-       if (phar_obj->arc.archive->is_tar) {
-               RETURN_TRUE;
-       }
-       if (PHAR_G(readonly)) {
-               save = phar_obj->arc.archive->is_data;
-               phar_obj->arc.archive->is_data = 1;
-       }
-
-       ret = phar_convert_to_other(phar_obj->arc.archive, 1, ext, phar_obj->arc.archive->flags TSRMLS_CC);
-       phar_obj->arc.archive->is_data = save;
-       if (ret) {
-               RETURN_ZVAL(ret, 1, 1);
-       } else {
-               RETURN_NULL();
-       }
-}
-/* }}} */
-
-/* {{{ proto object Phar::convertToZip([string file_ext])
- * Convert a phar or phar.tar archive to the zip file format. The single
- * optional argument allows the user to determine the new filename extension
- * (default is phar.zip).
+/* {{{ proto object Phar::convertToExecutable([int format[, int compression [, string file_ext]]])
+ * Convert a phar.tar or phar.zip archive to the phar file format. The 
+ * optional parameter allows the user to determine the new
+ * filename extension (default is phar).
  */
-PHP_METHOD(Phar, convertToZip)
+PHP_METHOD(Phar, convertToExecutable)
 {
        char *ext = NULL;
-       int ext_len = 0, save;
+       int is_data, ext_len = 0;
+       php_uint32 flags;
        zval *ret;
+       /* a number that is not 0, 1 or 2 (Which is also Greg's birthday, so there) */
+       long format = 9021976, method = 9021976;
        PHAR_ARCHIVE_OBJECT();
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|lls", &format, &method, &ext, &ext_len) == FAILURE) {
                return;
        }
 
-       if (phar_obj->arc.archive->is_zip) {
-               RETURN_TRUE;
-       }
-
        if (PHAR_G(readonly)) {
-               save = phar_obj->arc.archive->is_data;
-               phar_obj->arc.archive->is_data = 1;
-       }
-
-       ret = phar_convert_to_other(phar_obj->arc.archive, 2, ext, PHAR_FILE_COMPRESSED_NONE TSRMLS_CC);
-       phar_obj->arc.archive->is_data = save;
-       if (ret) {
-               RETURN_ZVAL(ret, 1, 1);
-       } else {
-               RETURN_NULL();
-       }
-}
-/* }}} */
-
-/* {{{ proto object Phar::compress(int method)
- * Compress a .tar, or .phar.tar with whole-file compression
- * The parameter can be one of Phar::GZ or Phar::BZ2 to specify
- * the kind of compression desired
- */
-PHP_METHOD(Phar, compress)
-{
-       long method = 0;
-       php_uint32 flags;
-       zval *ret;
-       PHAR_ARCHIVE_OBJECT();
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &method) == FAILURE) {
-               return;
-       }
-       
-       if (PHAR_G(readonly) && !phar_obj->arc.archive->is_data) {
                zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC,
-                       "Cannot compress phar archive, phar is read-only");
+                       "Cannot write out executable phar archive, phar is read-only");
                return;
        }
 
-       if (phar_obj->arc.archive->is_zip) {
-               zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC,
-                       "Cannot compress zipbased archives with whole-archive compression");
-               return;
+       switch (format) {
+               case 9021976:
+                       /* by default, use the existing format */
+                       if (phar_obj->arc.archive->is_tar) {
+                               format = PHAR_FORMAT_TAR;
+                       } else if (phar_obj->arc.archive->is_zip) {
+                               format = PHAR_FORMAT_ZIP;
+                       } else {
+                               format = PHAR_FORMAT_PHAR;
+                       }
+                       break;
+               case PHAR_FORMAT_PHAR:
+               case PHAR_FORMAT_TAR:
+               case PHAR_FORMAT_ZIP:
+                       break;
+               default:
+                       zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                               "Unknown file format specified, please pass one of Phar::PHAR, Phar::TAR or Phar::ZIP");
+                       return;
        }
 
        switch (method) {
+               case 9021976:
+                       flags = phar_obj->arc.archive->flags & PHAR_FILE_COMPRESSION_MASK;
+                       break;
                case 0:
                        flags = PHAR_FILE_COMPRESSED_NONE;
                        break;
                case PHAR_ENT_COMPRESSED_GZ:
+                       if (format == PHAR_FORMAT_ZIP) {
+                               zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                                       "Cannot compress entire archive with gzip, zip archives do not support whole-archive compression");
+                               return;
+                       }
                        if (!phar_has_zlib) {
                                zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
                                        "Cannot compress entire archive with gzip, enable ext/zlib in php.ini");
@@ -1935,6 +1890,11 @@ PHP_METHOD(Phar, compress)
                        break;
        
                case PHAR_ENT_COMPRESSED_BZ2:
+                       if (format == PHAR_FORMAT_ZIP) {
+                               zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                                       "Cannot compress entire archive with bz2, zip archives do not support whole-archive compression");
+                               return;
+                       }
                        if (!phar_has_bz2) {
                                zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
                                        "Cannot compress entire archive with bz2, enable ext/bz2 in php.ini");
@@ -1948,90 +1908,10 @@ PHP_METHOD(Phar, compress)
                        return;
        }
 
-       if (phar_obj->arc.archive->is_tar) {
-               ret = phar_convert_to_other(phar_obj->arc.archive, 1, NULL, flags TSRMLS_CC);
-       } else {
-               ret = phar_convert_to_other(phar_obj->arc.archive, 0, NULL, flags TSRMLS_CC);
-       }
-       if (ret) {
-               RETURN_ZVAL(ret, 1, 1);
-       } else {
-               RETURN_NULL();
-       }
-}
-/* }}} */
-
-
-/* {{{ proto object Phar::convertToPhar([string file_ext])
- * Convert a phar.tar or phar.zip archive to the phar file format. The 
- * optional parameter allows the user to determine the new
- * filename extension (default is phar).
- */
-PHP_METHOD(Phar, convertToPhar)
-{
-       char *ext = NULL;
-       int ext_len = 0;
-       zval *ret;
-       PHAR_ARCHIVE_OBJECT();
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) {
-               return;
-       }
-
-       if (!phar_obj->arc.archive->is_tar && !phar_obj->arc.archive->is_zip) {
-               RETURN_TRUE;
-       }
-
-       if (PHAR_G(readonly)) { /* Don't override this one for is_data */
-               zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC,
-                       "Cannot write out phar archive, phar is read-only");
-               return;
-       }
-
-       ret = phar_convert_to_other(phar_obj->arc.archive, 0, ext, phar_obj->arc.archive->flags TSRMLS_CC);
-       if (ret) {
-               RETURN_ZVAL(ret, 1, 1);
-       } else {
-               RETURN_NULL();
-       }
-}
-/* }}} */
-
-/* {{{ proto object Phar::convertToExecutable([string file_ext])
- * Convert a .tar or .zip archive to an executable .phar.tar or .phar.zip.
- * The optional parameter allows the user to determine the new
- * filename extension (default is phar.zip or phar.tar).
- */
-PHP_METHOD(Phar, convertToExecutable)
-{
-       char *ext = NULL;
-       int ext_len = 0;
-       zval *ret;
-       PHAR_ARCHIVE_OBJECT();
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) {
-               return;
-       }
-
-       if (!phar_obj->arc.archive->is_tar && !phar_obj->arc.archive->is_zip) {
-               RETURN_TRUE;
-       }
-       if (!phar_obj->arc.archive->is_data) {
-               RETURN_TRUE;
-       }
-
-       if (PHAR_G(readonly)) { /* Don't override this one for is_data */
-               zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC,
-                       "Cannot convert phar archive to executable format, phar is read-only");
-               return;
-       }
-
+       is_data = phar_obj->arc.archive->is_data;
        phar_obj->arc.archive->is_data = 0;
-       if (phar_obj->arc.archive->is_tar) {
-               ret = phar_convert_to_other(phar_obj->arc.archive, 1, ext, phar_obj->arc.archive->flags TSRMLS_CC);
-       } else {
-               ret = phar_convert_to_other(phar_obj->arc.archive, 2, ext, phar_obj->arc.archive->flags TSRMLS_CC);
-       }
+       ret = phar_convert_to_other(phar_obj->arc.archive, format, ext, flags TSRMLS_CC);
+       phar_obj->arc.archive->is_data = is_data;
        if (ret) {
                RETURN_ZVAL(ret, 1, 1);
        } else {
@@ -2040,35 +1920,94 @@ PHP_METHOD(Phar, convertToExecutable)
 }
 /* }}} */
 
-/* {{{ proto object Phar::convertToData([string file_ext])
- * Convert a phar.tar or phar.zip archive to a non-executable .tar or .zip.
+/* {{{ proto object Phar::convertToData([int format[, int compression [, string file_ext]]])
+ * Convert an archive to a non-executable .tar or .zip.
  * The optional parameter allows the user to determine the new
  * filename extension (default is .zip or .tar).
  */
 PHP_METHOD(Phar, convertToData)
 {
        char *ext = NULL;
-       int ext_len = 0;
+       int is_data, ext_len = 0;
+       php_uint32 flags;
        zval *ret;
+       /* a number that is not 0, 1 or 2 (Which is also Greg's birthday so there) */
+       long format = 9021976, method = 9021976;
        PHAR_ARCHIVE_OBJECT();
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &ext, &ext_len) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|lls", &format, &method, &ext, &ext_len) == FAILURE) {
                return;
        }
 
-       if (!phar_obj->arc.archive->is_tar && !phar_obj->arc.archive->is_zip) {
-               RETURN_TRUE;
+       switch (format) {
+               case 9021976:
+                       /* by default, use the existing format */
+                       if (phar_obj->arc.archive->is_tar) {
+                               format = PHAR_FORMAT_TAR;
+                       } else if (phar_obj->arc.archive->is_zip) {
+                               format = PHAR_FORMAT_ZIP;
+                       } else {
+                               zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC,
+                                       "Cannot write out data phar archive, use Phar::TAR or Phar::ZIP");
+                       }
+                       break;
+               case PHAR_FORMAT_PHAR:
+                       zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC,
+                               "Cannot write out data phar archive, use Phar::TAR or Phar::ZIP");
+                       return;
+               case PHAR_FORMAT_TAR:
+               case PHAR_FORMAT_ZIP:
+                       break;
+               default:
+                       zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                               "Unknown file format specified, please pass one of Phar::TAR or Phar::ZIP");
+                       return;
        }
-       if (!phar_obj->arc.archive->is_data) {
-               RETURN_TRUE;
+
+       switch (method) {
+               case 9021976:
+                       flags = phar_obj->arc.archive->flags & PHAR_FILE_COMPRESSION_MASK;
+                       break;
+               case 0:
+                       flags = PHAR_FILE_COMPRESSED_NONE;
+                       break;
+               case PHAR_ENT_COMPRESSED_GZ:
+                       if (format == PHAR_FORMAT_ZIP) {
+                               zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                                       "Cannot compress entire archive with gzip, zip archives do not support whole-archive compression");
+                               return;
+                       }
+                       if (!phar_has_zlib) {
+                               zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                                       "Cannot compress entire archive with gzip, enable ext/zlib in php.ini");
+                               return;
+                       }
+                       flags = PHAR_FILE_COMPRESSED_GZ;
+                       break;
+       
+               case PHAR_ENT_COMPRESSED_BZ2:
+                       if (format == PHAR_FORMAT_ZIP) {
+                               zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                                       "Cannot compress entire archive with bz2, zip archives do not support whole-archive compression");
+                               return;
+                       }
+                       if (!phar_has_bz2) {
+                               zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                                       "Cannot compress entire archive with bz2, enable ext/bz2 in php.ini");
+                               return;
+                       }
+                       flags = PHAR_FILE_COMPRESSED_BZ2;
+                       break;
+               default:
+                       zend_throw_exception_ex(spl_ce_BadMethodCallException, 0 TSRMLS_CC,
+                               "Unknown compression specified, please pass one of Phar::GZ or Phar::BZ2");
+                       return;
        }
 
+       is_data = phar_obj->arc.archive->is_data;
        phar_obj->arc.archive->is_data = 1;
-       if (phar_obj->arc.archive->is_tar) {
-               ret = phar_convert_to_other(phar_obj->arc.archive, 1, ext, phar_obj->arc.archive->flags TSRMLS_CC);
-       } else {
-               ret = phar_convert_to_other(phar_obj->arc.archive, 2, ext, phar_obj->arc.archive->flags TSRMLS_CC);
-       }
+       ret = phar_convert_to_other(phar_obj->arc.archive, format, ext, flags TSRMLS_CC);
+       phar_obj->arc.archive->is_data = is_data;
        if (ret) {
                RETURN_ZVAL(ret, 1, 1);
        } else {
@@ -3836,6 +3775,8 @@ ZEND_END_ARG_INFO();
 
 static
 ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_conv, 0, 0, 0)
+       ZEND_ARG_INFO(0, format)
+       ZEND_ARG_INFO(0, compression_type)
        ZEND_ARG_INFO(0, file_ext)
 ZEND_END_ARG_INFO();
 
@@ -3920,12 +3861,10 @@ zend_function_entry php_archive_methods[] = {
        PHP_ME(Phar, addFile,               arginfo_phar_addfile,      ZEND_ACC_PUBLIC)
        PHP_ME(Phar, addFromString,         arginfo_phar_fromstring,   ZEND_ACC_PUBLIC)
        PHP_ME(Phar, buildFromIterator,     arginfo_phar_build,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, compress,              arginfo_phar_comp,         ZEND_ACC_PUBLIC)
        PHP_ME(Phar, compressFiles,         arginfo_phar_comp,         ZEND_ACC_PUBLIC)
        PHP_ME(Phar, decompressFiles,       NULL,                      ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, convertToPhar,         arginfo_phar_conv,         ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, convertToTar,          arginfo_phar_conv,         ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, convertToZip,          arginfo_phar_conv,         ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, convertToExecutable,   arginfo_phar_conv,         ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, convertToData,         arginfo_phar_conv,         ZEND_ACC_PUBLIC)
        PHP_ME(Phar, copy,                  arginfo_phar_copy,         ZEND_ACC_PUBLIC)
        PHP_ME(Phar, count,                 NULL,                      ZEND_ACC_PUBLIC)
        PHP_ME(Phar, delete,                arginfo_phar_delete,       ZEND_ACC_PUBLIC)
@@ -3944,8 +3883,6 @@ zend_function_entry php_archive_methods[] = {
        PHP_ME(Phar, isPhar,                NULL,                      ZEND_ACC_PUBLIC)
        PHP_ME(Phar, isTar,                 NULL,                      ZEND_ACC_PUBLIC)
        PHP_ME(Phar, isZip,                 NULL,                      ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, convertToExecutable,   arginfo_phar_conv,         ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, convertToData,         arginfo_phar_conv,         ZEND_ACC_PUBLIC)
        PHP_ME(Phar, offsetExists,          arginfo_phar_offsetExists, ZEND_ACC_PUBLIC)
        PHP_ME(Phar, offsetGet,             arginfo_phar_offsetExists, ZEND_ACC_PUBLIC)
        PHP_ME(Phar, offsetSet,             arginfo_phar_offsetSet,    ZEND_ACC_PUBLIC)
@@ -4058,6 +3995,9 @@ void phar_object_init(TSRMLS_D) /* {{{ */
        REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "BZ2", PHAR_ENT_COMPRESSED_BZ2)
        REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "GZ", PHAR_ENT_COMPRESSED_GZ)
        REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "NONE", PHAR_ENT_COMPRESSED_NONE)
+       REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "PHAR", PHAR_FORMAT_PHAR)
+       REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "TAR", PHAR_FORMAT_TAR)
+       REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "ZIP", PHAR_FORMAT_ZIP)
        REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "COMPRESSED", PHAR_ENT_COMPRESSION_MASK)
        REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "PHP", PHAR_MIME_PHP)
        REGISTER_PHAR_CLASS_CONST_LONG(phar_ce_archive, "PHPS", PHAR_MIME_PHPS)
index ab6ec8aba687469ae414b8aedf645da6dc48dcab..f6fba992475406e4a90836752898ac88cd3b1d85 100644 (file)
@@ -32,7 +32,7 @@ var_dump($phar->getAlias());
 
 echo "================= convertToTar() =====================\n";
 
-$phar = $phar->convertToTar();
+$phar = $phar->convertToExecutable(Phar::TAR);
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
@@ -41,7 +41,7 @@ var_dump($phar->getAlias());
 
 echo "================= convertToZip() =====================\n";
 
-$phar = $phar->convertToZip();
+$phar = $phar->convertToExecutable(Phar::ZIP);
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
@@ -50,7 +50,7 @@ var_dump($phar->getAlias());
 
 echo "================= convertToPhar() ====================\n";
 
-$phar = $phar->convertToPhar('.2.phar');
+$phar = $phar->convertToExecutable(Phar::PHAR, Phar::NONE, '.2.phar');
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
@@ -59,7 +59,7 @@ var_dump($phar->getAlias());
 
 echo "================= convertToZip() =====================\n";
 
-$phar = $phar->convertToZip('.2.phar.zip');
+$phar = $phar->convertToExecutable(Phar::ZIP, Phar::NONE, '.2.phar.zip');
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
@@ -68,7 +68,7 @@ var_dump($phar->getAlias());
 
 echo "================= convertToTar() =====================\n";
 
-$phar = $phar->convertToTar('2.phar.tar');
+$phar = $phar->convertToExecutable(Phar::TAR, Phar::NONE, '2.phar.tar');
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
@@ -77,7 +77,7 @@ var_dump($phar->getAlias());
 
 echo "================= convertToZip() =====================\n";
 
-$phar = $phar->convertToZip('3.phar.zip');
+$phar = $phar->convertToExecutable(Phar::ZIP, Phar::NONE, '3.phar.zip');
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
index 6ed0070270c609b9ab47d7a42033061e6b4a5213..2b29c23fb4a4b07b0e9095a6480b871f0b2ed2f7 100644 (file)
@@ -23,7 +23,7 @@ var_dump($phar->getAlias());
 
 echo "================= convertToTar() =====================\n";
 
-$phar = $phar->convertToTar();
+$phar = $phar->convertToData(Phar::TAR);
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
@@ -32,7 +32,7 @@ var_dump($phar->getAlias());
 
 echo "================= convertToZip() =====================\n";
 
-$phar = $phar->convertToZip('.1.zip');
+$phar = $phar->convertToData(Phar::ZIP, Phar::NONE, '.1.zip');
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
@@ -42,7 +42,7 @@ var_dump($phar->getAlias());
 echo "================= convertToPhar() ====================\n";
 
 try {
-       $phar = $phar->convertToPhar();
+       $phar = $phar->convertToExecutable(Phar::PHAR);
        var_dump($phar->isPhar());
        var_dump($phar->isTar());
        var_dump($phar->isZip());
@@ -54,7 +54,7 @@ try {
 
 echo "================ convertToTar(GZ) ====================\n";
 
-$phar = $phar->convertToTar('.2.tar')->compress(Phar::GZ);
+$phar = $phar->convertToData(Phar::TAR, Phar::GZ, '.2.tar');
 var_dump($phar->isPhar());
 var_dump($phar->isTar());
 var_dump($phar->isZip());
@@ -64,7 +64,7 @@ var_dump($phar->getAlias());
 echo "================= convertToPhar() ====================\n";
 
 try {
-       $phar = $phar->convertToPhar();
+       $phar = $phar->convertToExecutable(Phar::PHAR);
        var_dump($phar->isPhar());
        var_dump($phar->isTar());
        var_dump($phar->isZip());
@@ -105,7 +105,7 @@ bool(true)
 string(0) ""
 NULL
 ================= convertToPhar() ====================
-Cannot write out phar archive, phar is read-only
+Cannot write out executable phar archive, phar is read-only
 ================ convertToTar(GZ) ====================
 bool(false)
 bool(true)
@@ -113,5 +113,5 @@ bool(false)
 string(0) ""
 NULL
 ================= convertToPhar() ====================
-Cannot write out phar archive, phar is read-only
+Cannot write out executable phar archive, phar is read-only
 ===DONE===
\ No newline at end of file
index 92ff1e36d785f575b6ee1dd85791a382a821f828..72e71ed793d80bfd7c305bb46101ed11288c517a 100644 (file)
@@ -26,7 +26,7 @@ $phar = new Phar($fname);
 var_dump($phar->isTar());
 var_dump($phar->getStub());
 
-$phar = $phar->convertToTar();
+$phar = $phar->convertToExecutable(Phar::TAR);
 var_dump($phar->isTar());
 var_dump($phar->getStub());
 
index edb2e1eef0a35e48491cc82b22c835c40629d3fa..78858aff1221cb965bdc00c6b045f0e95a733271 100644 (file)
@@ -28,7 +28,7 @@ var_dump($phar->isTar());
 var_dump($phar->isCompressed());
 var_dump($phar->getStub());
 
-$phar = $phar->convertToTar()->compress(Phar::GZ);
+$phar = $phar->convertToExecutable(Phar::TAR, Phar::GZ);
 var_dump($phar->isTar());
 var_dump($phar->isCompressed());
 var_dump($phar->getStub());
index 91e2fc5a36852668ec2ecfa87f69794f97e93d40..ac3f1fb2014e2db24df52a6f53b950b5953b176f 100644 (file)
@@ -28,7 +28,7 @@ var_dump($phar->isTar());
 var_dump($phar->isCompressed());
 var_dump($phar->getStub());
 
-$phar = $phar->convertToTar()->compress(Phar::BZ2);
+$phar = $phar->convertToExecutable(Phar::TAR, Phar::BZ2);
 var_dump($phar->isTar());
 var_dump($phar->isCompressed());
 var_dump($phar->getStub());
index c9e97699171c38c0a2d05ae6b6517f235c14f0e7..4615ab4c1c216f04ffd2a7c8e30126ef781bd9e3 100644 (file)
@@ -26,7 +26,7 @@ $phar = new Phar($fname);
 var_dump($phar->isZip());
 var_dump($phar->getStub());
 
-$phar = $phar->convertToZip();
+$phar = $phar->convertToExecutable(Phar::ZIP);
 var_dump($phar->isZip());
 var_dump($phar->getStub());
 
index dea5a78af6575318817df57ee42e1824427c9d51..3f982a9a1eddbd492c1a8dc98b33fa04621ef947 100644 (file)
@@ -17,13 +17,13 @@ $phar->stopBuffering();
 var_dump($phar->isTar());
 var_dump(strlen($phar->getStub()));
 
-$phar = $phar->convertToTar();
+$phar = $phar->convertToExecutable(Phar::TAR);
 var_dump($phar->isTar());
 var_dump($phar->getStub());
 
 $phar['a'] = 'hi there';
 
-$phar = $phar->convertToPhar('.3.phar');
+$phar = $phar->convertToExecutable(Phar::PHAR, Phar::NONE, '.3.phar');
 var_dump($phar->isPhar());
 var_dump(strlen($phar->getStub()));
 
index 27113728e10e85621c0cd9286dd6c238c8144b87..b0e360af9be031ed3ea10bc3d57aaa0263d7fb2e 100644 (file)
@@ -17,13 +17,13 @@ $phar->stopBuffering();
 var_dump($phar->isTar());
 var_dump(strlen($phar->getStub()));
 
-$phar = $phar->convertToTar();
+$phar = $phar->convertToExecutable(Phar::TAR);
 var_dump($phar->isTar());
 var_dump($phar->getStub());
 
 $phar['a'] = 'hi there';
 
-$phar = $phar->compress(Phar::GZ)->convertToPhar();
+$phar = $phar->convertToExecutable(Phar::PHAR, Phar::GZ);
 var_dump($phar->isPhar());
 var_dump($phar->isCompressed());
 var_dump(strlen($phar->getStub()));
index af2552e31e8ac176a5fd71aba55393667651dd2f..de2ccbe10f3fcdfc10f308ed07892a6d21c6933d 100644 (file)
@@ -17,13 +17,13 @@ $phar->stopBuffering();
 var_dump($phar->isTar());
 var_dump(strlen($phar->getStub()));
 
-$phar = $phar->convertToTar();
+$phar = $phar->convertToExecutable(Phar::TAR);
 var_dump($phar->isTar());
 var_dump($phar->getStub());
 
 $phar['a'] = 'hi there';
 
-$phar = $phar->compress(Phar::BZ2)->convertToPhar();
+$phar = $phar->convertToExecutable(Phar::PHAR, Phar::BZ2);
 var_dump($phar->isPhar());
 var_dump($phar->isCompressed());
 var_dump(strlen($phar->getStub()));
index 90379fa97abb41b747e8b23a89b083ef83153f96..f81675f8d827932d9e47e44b41ccaadd3146cb27 100644 (file)
@@ -16,7 +16,7 @@ $fname3 = dirname(__FILE__) . '/tar_makebz2_b.phar.tar.bz2';
 $phar = new Phar($fname);
 $phar['test'] = 'hi';
 var_dump($phar->isTar());
-$phar = $phar->compress(Phar::BZ2);
+$phar = $phar->convertToExecutable(Phar::TAR, Phar::BZ2);
 
 copy($fname2, $fname3);
 
index 805330e4c2799f5c268ce2c4e2b0033b4071e48a..54fd1e4b33918024abc76a0a8b4d41053b05d373 100644 (file)
@@ -16,7 +16,8 @@ $fname3 = dirname(__FILE__) . '/tar_makegz_b.phar.tar.gz';
 $phar = new Phar($fname);
 $phar['test'] = 'hi';
 var_dump($phar->isTar());
-$phar = $phar->compress(Phar::GZ);
+$phar = $phar->convertToExecutable(Phar::TAR, Phar::GZ);
+
 
 copy($fname2, $fname3);
 
index 70ba863a693ab13b64e813be22b351c9be271991..aa29cbb82d54aaff5d42029f5deff3699b1fc5ab 100644 (file)
@@ -17,13 +17,13 @@ $phar->stopBuffering();
 var_dump($phar->isZip());
 var_dump(strlen($phar->getStub()));
 
-$phar = $phar->convertToZip();
+$phar = $phar->convertToExecutable(Phar::ZIP);
 var_dump($phar->isZip());
 var_dump($phar->getStub());
 
 $phar['a'] = 'hi there';
 
-$phar = $phar->convertToPhar('.3.phar');
+$phar = $phar->convertToExecutable(Phar::PHAR, Phar::NONE, '.3.phar');
 var_dump($phar->isPhar());
 var_dump(strlen($phar->getStub()));