WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru
класс не описан

YoastSEO_Vendor\GuzzleHttp\Psr7

BufferStream{} Yoast 1.0

Provides a buffer stream that can be written to to fill a buffer, and read from to remove bytes from the buffer.

This stream returns a "hwm" metadata value that tells upstream consumers what the configured high water mark of the stream is, or the maximum preferred size of the buffer.

Хуков нет.

Возвращает

null. Null. Ничего.

Использование

$BufferStream = new BufferStream();
// use class methods

Методы

  1. __construct($hwm = 16384)
  2. __toString()
  3. close()
  4. detach()
  5. eof()
  6. getContents()
  7. getMetadata($key = null)
  8. getSize()
  9. isReadable()
  10. isSeekable()
  11. isWritable()
  12. read($length)
  13. rewind()
  14. seek($offset, $whence = \SEEK_SET)
  15. tell()
  16. write($string)

Код BufferStream{} Yoast 16.1.1

<?php
class BufferStream implements \YoastSEO_Vendor\Psr\Http\Message\StreamInterface
{
    private $hwm;
    private $buffer = '';
    /**
     * @param int $hwm High water mark, representing the preferred maximum
     *                 buffer size. If the size of the buffer exceeds the high
     *                 water mark, then calls to write will continue to succeed
     *                 but will return false to inform writers to slow down
     *                 until the buffer has been drained by reading from it.
     */
    public function __construct($hwm = 16384)
    {
        $this->hwm = $hwm;
    }
    public function __toString()
    {
        return $this->getContents();
    }
    public function getContents()
    {
        $buffer = $this->buffer;
        $this->buffer = '';
        return $buffer;
    }
    public function close()
    {
        $this->buffer = '';
    }
    public function detach()
    {
        $this->close();
    }
    public function getSize()
    {
        return \strlen($this->buffer);
    }
    public function isReadable()
    {
        return \true;
    }
    public function isWritable()
    {
        return \true;
    }
    public function isSeekable()
    {
        return \false;
    }
    public function rewind()
    {
        $this->seek(0);
    }
    public function seek($offset, $whence = \SEEK_SET)
    {
        throw new \RuntimeException('Cannot seek a BufferStream');
    }
    public function eof()
    {
        return \strlen($this->buffer) === 0;
    }
    public function tell()
    {
        throw new \RuntimeException('Cannot determine the position of a BufferStream');
    }
    /**
     * Reads data from the buffer.
     */
    public function read($length)
    {
        $currentLength = \strlen($this->buffer);
        if ($length >= $currentLength) {
            // No need to slice the buffer because we don't have enough data.
            $result = $this->buffer;
            $this->buffer = '';
        } else {
            // Slice up the result to provide a subset of the buffer.
            $result = \substr($this->buffer, 0, $length);
            $this->buffer = \substr($this->buffer, $length);
        }
        return $result;
    }
    /**
     * Writes data to the buffer.
     */
    public function write($string)
    {
        $this->buffer .= $string;
        // TODO: What should happen here?
        if (\strlen($this->buffer) >= $this->hwm) {
            return \false;
        }
        return \strlen($string);
    }
    public function getMetadata($key = null)
    {
        if ($key == 'hwm') {
            return $this->hwm;
        }
        return $key ? null : [];
    }
}