src/Horizon/ApiClient.php
public function streamTransactions($sinceCursor = 'now', callable $callback = null)
    {
        $url = sprintf('/transactions');
        $params = [];

        if ($sinceCursor) $params['cursor'] = $sinceCursor;

        if ($params) {
            $url .= '?' . http_build_query($params);
        }

        $this->getAndStream($url, function($rawData) use ($callback) {
            $parsedObject = Transaction::fromRawResponseData($rawData);
            $parsedObject->setApiClient($this);

            $callback($parsedObject);
        });
    }
public function streamTransactions($sinceCursor = 'now', callable $callback = null)
    {
        $url = sprintf('/transactions');
        $params = [];

        if ($sinceCursor) $params['cursor'] = $sinceCursor;

        if ($params) {
            $url .= '?' . http_build_query($params);
        }

        $this->getAndStream($url, function($rawData) use ($callback) {
            $parsedObject = Transaction::fromRawResponseData($rawData);
            $parsedObject->setApiClient($this);

            $callback($parsedObject);
        });
    }
Streams Transaction objects to $callback

$callback should have arguments:
Transaction

For example:

$client = ApiClient::newPublicClient();
$client->streamTransactions('now', function(Transaction $transaction) {
printf('Transaction id %s' . PHP_EOL, $transaction->getId());
});

@param null $sinceCursor
@param callable $callback