1<?php 2 3/* 4 * This file is part of the Assetic package, an OpenSky project. 5 * 6 * (c) 2010-2014 OpenSky Project Inc 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12namespace Assetic\Util; 13 14/** 15 * An object that can be used as either a string or array. 16 * 17 * @author Kris Wallsmith <kris.wallsmith@gmail.com> 18 */ 19class TraversableString implements \IteratorAggregate, \Countable 20{ 21 private $one; 22 private $many; 23 24 public function __construct($one, array $many) 25 { 26 $this->one = $one; 27 $this->many = $many; 28 } 29 30 public function getIterator() 31 { 32 return new \ArrayIterator($this->many); 33 } 34 35 public function count() 36 { 37 return count($this->many); 38 } 39 40 public function __toString() 41 { 42 return (string) $this->one; 43 } 44} 45