30 lines
682 B
PHP
30 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;
|
|
}
|