123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- namespace Drupal\Component\PhpStorage;
- /**
- * Stores and loads PHP code.
- *
- * Each interface function takes $name as a parameter. This is a virtual file
- * name: for example, 'foo.php' or 'some/relative/path/to/foo.php'. The
- * storage implementation may store these as files within the local file system,
- * use a remote stream, combine multiple virtual files into an archive, store
- * them in database records, or use some other storage technique.
- */
- interface PhpStorageInterface {
- /**
- * Checks whether the PHP code exists in storage.
- *
- * @param string $name
- * The virtual file name. Can be a relative path.
- *
- * @return bool
- * TRUE if the virtual file exists, FALSE otherwise.
- */
- public function exists($name);
- /**
- * Loads PHP code from storage.
- *
- * Depending on storage implementation, exists() checks can be expensive, so
- * this function may be called for a file that doesn't exist, and that should
- * not result in errors. This function does not return anything, so it is
- * up to the caller to determine if any code was loaded (for example, check
- * class_exists() or function_exists() for what was expected in the code).
- *
- * @param string $name
- * The virtual file name. Can be a relative path.
- */
- public function load($name);
- /**
- * Saves PHP code to storage.
- *
- * @param string $name
- * The virtual file name. Can be a relative path.
- * @param string $code
- * The PHP code to be saved.
- *
- * @return bool
- * TRUE if the save succeeded, FALSE if it failed.
- */
- public function save($name, $code);
- /**
- * Whether this is a writeable storage.
- *
- * @return bool
- */
- public function writeable();
- /**
- * Deletes PHP code from storage.
- *
- * @param string $name
- * The virtual file name. Can be a relative path.
- *
- * @return bool
- * TRUE if the delete succeeded, FALSE if it failed.
- */
- public function delete($name);
- /**
- * Removes all files in this bin.
- */
- public function deleteAll();
- /**
- * Gets the full file path.
- *
- * @param string $name
- * The virtual file name. Can be a relative path.
- *
- * @return string|false
- * The full file path for the provided name. Return FALSE if the
- * implementation needs to prevent access to the file.
- */
- public function getFullPath($name);
- /**
- * Lists all the files in the storage.
- *
- * @return array
- * Array of filenames.
- */
- public function listAll();
- /**
- * Performs garbage collection on the storage.
- *
- * The storage may choose to delete expired or invalidated items.
- */
- public function garbageCollection();
- }
|