PageRenderTime 45ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/vendor/zendframework/zendframework/tests/ZendTest/Loader/_files/_buildPhars.php

https://bitbucket.org/pcelta/zf2
PHP | 77 lines | 57 code | 4 blank | 16 comment | 9 complexity | 10050ecc767c4a8df969006d85e04686 MD5 | raw file
  1. <?php
  2. ini_set('phar.readonly', '0');
  3. // Executable
  4. // .phar
  5. buildModulePhar('PharModule');
  6. // .phar.gz
  7. buildModulePhar('PharModuleGz', Phar::PHAR, Phar::GZ);
  8. // .phar.bz2
  9. buildModulePhar('PharModuleBz2', Phar::PHAR, Phar::BZ2);
  10. // .phar.tar
  11. buildModulePhar('PharModulePharTar', Phar::TAR, Phar::NONE);
  12. // .phar.tar.gz
  13. buildModulePhar('PharModulePharTarGz', Phar::TAR, Phar::GZ);
  14. // .phar.tar.bz2
  15. buildModulePhar('PharModulePharTarBz2', Phar::TAR, Phar::BZ2);
  16. // .phar.zip
  17. buildModulePhar('PharModulePharZip', Phar::ZIP);
  18. // Non-executable
  19. // .tar
  20. buildModulePhar('PharModuleTar', Phar::TAR, Phar::NONE, false);
  21. // .tar.gz
  22. buildModulePhar('PharModuleTarGz', Phar::TAR, Phar::GZ, false);
  23. // .tar.bz2
  24. buildModulePhar('PharModuleTarBz2', Phar::TAR, Phar::BZ2, false);
  25. // .zip
  26. buildModulePhar('PharModuleZip', Phar::ZIP, Phar::NONE, false);
  27. // Fake Module
  28. buildModulePhar('PharModuleFake', Phar::ZIP, Phar::NONE, false, 'fake');
  29. buildModulePhar('PharModuleNestedFake', Phar::TAR, Phar::GZ, false, 'nestedfake');
  30. // Nested Module
  31. buildModulePhar('PharModuleNested', Phar::TAR, Phar::GZ, false, 'nested');
  32. // Explicitly loaded phar
  33. buildModulePhar('PharModuleExplicit');
  34. function buildModulePhar($name, $format = Phar::PHAR, $compression = Phar::NONE, $executable = true, $mode = 'normal')
  35. {
  36. echo "Building {$name}...\t";
  37. $glob = glob($name.'.*');
  38. if (count($glob) > 0) {
  39. foreach ($glob as $file) {
  40. if (!is_dir($file)) {
  41. unlink($file);
  42. }
  43. }
  44. }
  45. $filename = $name . '.phar';
  46. $phar = new Phar($filename);
  47. switch ($mode) {
  48. case 'normal':
  49. $phar['Module.php'] = "<?php \n\nnamespace {$name};\n\nclass Module\n{}";
  50. break;
  51. case 'fake':
  52. $phar['Module.php'] = '<?php //no class here';
  53. break;
  54. case 'nested':
  55. $phar[$name . '/Module.php'] = "<?php \n\nnamespace {$name};\n\nclass Module\n{}";
  56. break;
  57. case 'nestedfake':
  58. $phar[$name . '/Module.php'] = '<?php // no class here';
  59. break;
  60. }
  61. if (false === $executable) {
  62. $phar->convertToData($format, $compression);
  63. } else {
  64. $phar->setDefaultStub('Module.php', 'Module.php');
  65. if ($format !== Phar::PHAR || $compression !== Phar::NONE) {
  66. $phar->convertToExecutable($format, $compression);
  67. }
  68. }
  69. if ($format !== Phar::PHAR || $compression !== Phar::NONE) {
  70. unlink($filename);
  71. }
  72. echo "Done!\n";
  73. }