abstract class SeekableFileContent in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/SeekableFileContent.php \org\bovigo\vfs\content\SeekableFileContent
Default implementation for file contents based on simple strings.
@since 1.3.0
Hierarchy
- class \org\bovigo\vfs\content\SeekableFileContent implements FileContent
Expanded class hierarchy of SeekableFileContent
File
- vendor/
mikey179/ vfsStream/ src/ main/ php/ org/ bovigo/ vfs/ content/ SeekableFileContent.php, line 16
Namespace
org\bovigo\vfs\contentView source
abstract class SeekableFileContent implements FileContent {
/**
* current position within content
*
* @type int
*/
private $offset = 0;
/**
* reads the given amount of bytes from content
*
* @param int $count
* @return string
*/
public function read($count) {
$data = $this
->doRead($this->offset, $count);
$this->offset += $count;
return $data;
}
/**
* actual reading of given byte count starting at given offset
*
* @param int $offset
* @param int $count
*/
protected abstract function doRead($offset, $count);
/**
* seeks to the given offset
*
* @param int $offset
* @param int $whence
* @return bool
*/
public function seek($offset, $whence) {
switch ($whence) {
case SEEK_CUR:
$this->offset += $offset;
return true;
case SEEK_END:
$this->offset = $this
->size() + $offset;
return true;
case SEEK_SET:
$this->offset = $offset;
return true;
default:
return false;
}
return false;
}
/**
* checks whether pointer is at end of file
*
* @return bool
*/
public function eof() {
return $this
->size() <= $this->offset;
}
/**
* writes an amount of data
*
* @param string $data
* @return amount of written bytes
*/
public function write($data) {
$dataLength = strlen($data);
$this
->doWrite($data, $this->offset, $dataLength);
$this->offset += $dataLength;
return $dataLength;
}
/**
* actual writing of data with specified length at given offset
*
* @param string $data
* @param int $offset
* @param int $length
*/
protected abstract function doWrite($data, $offset, $length);
/**
* for backwards compatibility with vfsStreamFile::bytesRead()
*
* @return int
* @deprecated
*/
public function bytesRead() {
return $this->offset;
}
/**
* for backwards compatibility with vfsStreamFile::readUntilEnd()
*
* @return string
* @deprecated
*/
public function readUntilEnd() {
return substr($this
->content(), $this->offset);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FileContent:: |
public | function | returns actual content | 2 |
FileContent:: |
public | function | returns size of content | 2 |
FileContent:: |
public | function | Truncates a file to a given length | 2 |
SeekableFileContent:: |
private | property | current position within content | |
SeekableFileContent:: |
public | function | for backwards compatibility with vfsStreamFile::bytesRead() | |
SeekableFileContent:: |
abstract protected | function | actual reading of given byte count starting at given offset | 2 |
SeekableFileContent:: |
abstract protected | function | actual writing of data with specified length at given offset | 2 |
SeekableFileContent:: |
public | function |
checks whether pointer is at end of file Overrides FileContent:: |
|
SeekableFileContent:: |
public | function |
reads the given amount of bytes from content Overrides FileContent:: |
|
SeekableFileContent:: |
public | function | for backwards compatibility with vfsStreamFile::readUntilEnd() | |
SeekableFileContent:: |
public | function |
seeks to the given offset Overrides FileContent:: |
|
SeekableFileContent:: |
public | function |
writes an amount of data Overrides FileContent:: |