stream_bucket_prepend

(PHP 5, PHP 7, PHP 8)

stream_bucket_prependДобавляет бакет в начало бригады

Описание

function stream_bucket_prepend(resource $brigade, StreamBucket $bucket): void

Функция может использоваться для добавления бакета в начало бригады бакетов. Обычно она вызывается из метода php_user_filter::filter().

Список параметров

brigade

brigade – ресурс, указывающий на бригаду бакетов, которая содержит один или несколько объектов bucket.

bucket

Бакет.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Список изменений

Версия Описание
8.4.0 Параметр bucket теперь принимает объект StreamBucket; раньше принимался объект stdClass.

Примеры

Пример #1 Примеры использования stream_bucket_prepend()

<?php

class foo extends php_user_filter {
  protected $calls = 0;
  public function filter($in, $out, &$consumed, $closing) {
    while ($bucket = stream_bucket_make_writeable($in)) {
      $consumed += $bucket->datalen;
      if ($this->calls++ == 2) {
        // Бакет снова появится перед любым другим бакетом.
        stream_bucket_prepend($in, $bucket);
      }
    }
    return PSFS_FEED_ME;
  }
}
stream_filter_register('test', 'foo');
print  file_get_contents('php://filter/read=test/resource=foo');
?>