class LockableFile

Properties

protected resource $handle

The file resource.

protected string $path

The file path.

protected bool $isLocked

Indicates if the file is locked.

Methods

__construct(string $path, string $mode)

Create a new File instance.

void
ensureDirectoryExists(string $path)

Create the file's directory if necessary.

void
createResource(string $path, string $mode)

Create the file resource.

string
read(int|null $length = null)

Read the file contents.

int
size()

Get the file size.

write(string $contents)

Write to the file.

truncate()

Truncate the file.

getSharedLock(bool $block = false)

Get a shared lock on the file.

getExclusiveLock(bool $block = false)

Get an exclusive lock on the file.

releaseLock()

Release the lock on the file.

bool
close()

Close the file.

Details

at line 33
__construct(string $path, string $mode)

Create a new File instance.

Parameters

string $path
string $mode

at line 44
protected void ensureDirectoryExists(string $path)

Create the file's directory if necessary.

Parameters

string $path

Return Value

void

at line 58
protected void createResource(string $path, string $mode)

Create the file resource.

Parameters

string $path
string $mode

Return Value

void

Exceptions

RuntimeException

at line 72
string read(int|null $length = null)

Read the file contents.

Parameters

int|null $length

Return Value

string

at line 86
int size()

Get the file size.

Return Value

int

at line 100
LockableFile write(string $contents)

Write to the file.

Parameters

string $contents

Return Value

LockableFile

at line 122
LockableFile truncate()

Truncate the file.

Return Value

LockableFile

at line 142
LockableFile getSharedLock(bool $block = false)

Get a shared lock on the file.

Parameters

bool $block

Return Value

LockableFile

Exceptions

LockTimeoutException

at line 160
LockableFile getExclusiveLock(bool $block = false)

Get an exclusive lock on the file.

Parameters

bool $block

Return Value

LockableFile

Exceptions

LockTimeoutException

at line 174
LockableFile releaseLock()

Release the lock on the file.

Return Value

LockableFile

at line 188
bool close()

Close the file.

Return Value

bool