phar_oo_006.phpt 945 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. --TEST--
  2. Phar object: array access
  3. --EXTENSIONS--
  4. phar
  5. --INI--
  6. phar.require_hash=0
  7. --FILE--
  8. <?php
  9. require_once 'files/phar_oo_test.inc';
  10. class MyFile extends SplFileObject
  11. {
  12. function __construct($what)
  13. {
  14. echo __METHOD__ . "($what)\n";
  15. parent::__construct($what);
  16. }
  17. }
  18. $phar = new Phar($fname);
  19. try
  20. {
  21. $phar->setFileClass('SplFileInfo');
  22. }
  23. catch (TypeError $e)
  24. {
  25. echo $e->getMessage() . "\n";
  26. }
  27. $phar->setInfoClass('MyFile');
  28. echo $phar['a.php']->getFilename() . "\n";
  29. echo $phar['b/c.php']->getFilename() . "\n";
  30. echo $phar['b.php']->getFilename() . "\n";
  31. ?>
  32. --CLEAN--
  33. <?php
  34. unlink(__DIR__ . '/files/phar_oo_006.phar.php');
  35. __halt_compiler();
  36. ?>
  37. --EXPECTF--
  38. SplFileInfo::setFileClass(): Argument #1 ($class) must be a class name derived from SplFileObject, SplFileInfo given
  39. MyFile::__construct(phar://%s/a.php)
  40. a.php
  41. MyFile::__construct(phar://%s/b/c.php)
  42. c.php
  43. MyFile::__construct(phar://%s/b.php)
  44. b.php