wppaste
WordPress

POMO_Reader

Source
wp-includes/pomo/streams.php:12

Compatibility

WordPress
core
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Properties · 3

$endianpublic
$_pospublic
$is_overloadedpublic

Methods · 11

Source code

	#[AllowDynamicProperties]	class POMO_Reader { 		public $endian = 'little';		public $_pos;		public $is_overloaded; 		/**		 * PHP5 constructor.		 */		public function __construct() {			if ( function_exists( 'mb_substr' )				&& ( (int) ini_get( 'mbstring.func_overload' ) & 2 ) // phpcs:ignore PHPCompatibility.IniDirectives.RemovedIniDirectives.mbstring_func_overloadDeprecated			) {				$this->is_overloaded = true;			} else {				$this->is_overloaded = false;			} 			$this->_pos = 0;		} 		/**		 * PHP4 constructor.		 *		 * @deprecated 5.4.0 Use __construct() instead.		 *		 * @see POMO_Reader::__construct()		 */		public function POMO_Reader() {			_deprecated_constructor( self::class, '5.4.0', static::class );			self::__construct();		} 		/**		 * Sets the endianness of the file.		 *		 * @param string $endian Set the endianness of the file. Accepts 'big', or 'little'.		 */		public function setEndian( $endian ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid			$this->endian = $endian;		} 		/**		 * Reads a 32bit Integer from the Stream		 *		 * @return mixed The integer, corresponding to the next 32 bits from		 *  the stream of false if there are not enough bytes or on error		 */		public function readint32() {			$bytes = $this->read( 4 );			if ( 4 !== $this->strlen( $bytes ) ) {				return false;			}			$endian_letter = ( 'big' === $this->endian ) ? 'N' : 'V';			$int           = unpack( $endian_letter, $bytes );			return reset( $int );		} 		/**		 * Reads an array of 32-bit Integers from the Stream		 *		 * @param int $count How many elements should be read		 * @return mixed Array of integers or false if there isn't		 *  enough data or on error		 */		public function readint32array( $count ) {			$bytes = $this->read( 4 * $count );			if ( 4 * $count !== $this->strlen( $bytes ) ) {				return false;			}			$endian_letter = ( 'big' === $this->endian ) ? 'N' : 'V';			return unpack( $endian_letter . $count, $bytes );		} 		/**		 * @param string $input_string		 * @param int    $start		 * @param int    $length		 * @return string

Changelog

Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

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

About this page

Parsed data
Generated from the wordpress-develop 7.0.4 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.