<?php
$someBuffer = new Buffer();
$someBuffer('a string');
$someBuffer(array('an array'));

$otherBuffer = new Buffer();
$otherBuffer('another string');

print json_encode($otherBuffer->release())."\n";

echo "\nПочему \$otherBuffer скопировало \$someBuffer ?!! Это же разные инстансы.";

class Buffer
{
  protected static $stock = array();
  
  public function clear() {
    self::$stock = array();
  }
  
  public function __invoke($resource = array(), $key = false) {
    if ($key) {
      self::$stock[$key] = $resource;
    } else {
      self::$stock[] = $resource;
    }
  }
  
  public function release() {
    return self::$stock;
  }
}