wppaste
WordPress

POMO_StringReader

Source
wp-includes/pomo/streams.php:239
Provides file-like methods for manipulating a string instead of a physical file.

Compatibility

WordPress
core
  • 6.7.10
  • 6.8.11
  • 6.9.10
  • 7.0.7
  • 7.1.3

Present in every tracked release (6.7.10 to 7.1.3).

Properties · 1

$_strpublic

Methods · 6

Source code

	class POMO_StringReader extends POMO_Reader { 		public $_str = ''; 		/**		 * PHP5 constructor.		 */		public function __construct( $str = '' ) {			parent::__construct();			$this->_str = $str;			$this->_pos = 0;		} 		/**		 * PHP4 constructor.		 *		 * @deprecated 5.4.0 Use __construct() instead.		 *		 * @see POMO_StringReader::__construct()		 */		public function POMO_StringReader( $str = '' ) {			_deprecated_constructor( self::class, '5.4.0', static::class );			self::__construct( $str );		} 		/**		 * @param string $bytes		 * @return string		 */		public function read( $bytes ) {			$data        = $this->substr( $this->_str, $this->_pos, $bytes );			$this->_pos += $bytes;			if ( $this->strlen( $this->_str ) < $this->_pos ) {				$this->_pos = $this->strlen( $this->_str );			}			return $data;		} 		/**		 * @param int $pos		 * @return int		 */		public function seekto( $pos ) {			$this->_pos = $pos;			if ( $this->strlen( $this->_str ) < $this->_pos ) {				$this->_pos = $this->strlen( $this->_str );			}			return $this->_pos;		} 		/**		 * @return int		 */		public function length() {			return $this->strlen( $this->_str );		} 		/**		 * @return string		 */		public function read_all() {			return $this->substr( $this->_str, $this->_pos, $this->strlen( $this->_str ) );		}	}

Changelog

Unchanged from 6.7.10 through 7.1.3.

  1. 6.7.10
  2. 6.8.11
  3. 6.9.10
  4. 7.0.7
  5. 7.1.3

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.0.7 tag, from src/wp-includes/pomo/streams.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.