bebeboutik/tools/swift/Swift/Cache/OutputStream.php
Srv Bebeboutik 340bc7c146 push site
2016-01-04 12:48:08 +01:00

61 lines
1.3 KiB
PHP
Executable File

<?php
/**
* Swift Mailer Output stream to read bytes from cached data
* Please read the LICENSE file
* @author Chris Corbyn <chris@w3style.co.uk>
* @package Swift_Cache
* @license GNU Lesser General Public License
*/
/**
* The wraps the streaming functionality of the cache
* @package Swift_Cache
* @author Chris Corbyn <chris@w3style.co.uk>
*/
class Swift_Cache_OutputStream
{
/**
* The key to read in the actual cache
* @var string
*/
protected $key;
/**
* The cache object to read
* @var Swift_Cache
*/
protected $cache;
/**
* Ctor.
* @param Swift_Cache The cache to read from
* @param string The key for the cached data
*/
public function __construct(Swift_Cache $cache, $key)
{
$this->cache = $cache;
$this->key = $key;
}
/**
* Read bytes from the cache and seek through the buffer
* Returns false if EOF is reached
* @param int The number of bytes to read (could be ignored)
* @return string The read bytes
*/
public function read($size=null)
{
return $this->cache->read($this->key, $size);
}
/**
* Read the entire cached data as one string
* @return string
*/
public function readFull()
{
$ret = "";
while (false !== $bytes = $this->read())
$ret .= $bytes;
return $ret;
}
}