IoInterface.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Filesystem\Io;
  7. /**
  8. * Input/output client interface
  9. * @api
  10. * @since 100.0.2
  11. */
  12. interface IoInterface
  13. {
  14. /**
  15. * Open a connection
  16. *
  17. * @param array $args
  18. * @return bool
  19. */
  20. public function open(array $args = []);
  21. /**
  22. * Close a connection
  23. *
  24. * @return bool
  25. */
  26. public function close();
  27. /**
  28. * Create a directory
  29. *
  30. * @param string $dir
  31. * @param int $mode
  32. * @param bool $recursive
  33. * @return bool
  34. */
  35. public function mkdir($dir, $mode = 0777, $recursive = true);
  36. /**
  37. * Delete a directory
  38. *
  39. * @param string $dir
  40. * @param bool $recursive
  41. * @return bool
  42. */
  43. public function rmdir($dir, $recursive = false);
  44. /**
  45. * Get current working directory
  46. *
  47. * @return string
  48. */
  49. public function pwd();
  50. /**
  51. * Change current working directory
  52. *
  53. * @param string $dir
  54. * @return bool
  55. * @SuppressWarnings(PHPMD.ShortMethodName)
  56. */
  57. public function cd($dir);
  58. /**
  59. * Read a file
  60. *
  61. * @param string $filename
  62. * @param string|resource|null $dest
  63. * @return string|bool
  64. */
  65. public function read($filename, $dest = null);
  66. /**
  67. * Write a file
  68. *
  69. * @param string $filename
  70. * @param string|resource $src
  71. * @param int|null $mode
  72. * @return int|bool
  73. */
  74. public function write($filename, $src, $mode = null);
  75. /**
  76. * Delete a file
  77. *
  78. * @param string $filename
  79. * @return bool
  80. * @SuppressWarnings(PHPMD.ShortMethodName)
  81. */
  82. public function rm($filename);
  83. /**
  84. * Rename or move a directory or a file
  85. *
  86. * @param string $src
  87. * @param string $dest
  88. * @return bool
  89. * @SuppressWarnings(PHPMD.ShortMethodName)
  90. */
  91. public function mv($src, $dest);
  92. /**
  93. * Change mode of a directory or a file
  94. *
  95. * @param string $filename
  96. * @param int $mode
  97. * @return bool
  98. */
  99. public function chmod($filename, $mode);
  100. /**
  101. * Get list of cwd subdirectories and files
  102. *
  103. * @param string|null $grep
  104. * @return array
  105. * @SuppressWarnings(PHPMD.ShortMethodName)
  106. */
  107. public function ls($grep = null);
  108. /**
  109. * Retrieve directory separator in context of io resource
  110. *
  111. * @return string
  112. */
  113. public function dirsep();
  114. }