index/src/ICloseable.php

31 lines
682 B
PHP

<?php
// ICloseable.php
// Created: 2021-04-30
// Updated: 2021-05-12
namespace Index;
/**
* Provides an interface for releasing unmanaged resources.
*
* If ICloseable is implemented __destruct() should also be added to the class and should call close in it:
*
* <code>
* public function close(): void {
* fclose($this->resource);
* }
*
* public function __destruct() {
* $this->close();
* }
* </code>
*
* However if close() is only implemented because a parent interface requires it, the __destruct() implementation may be omitted.
*/
interface ICloseable {
/**
* Free, release or reset unmanaged resources.
*/
function close(): void;
}