![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Filter/Template/Tokenizer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Filter\Template\Tokenizer; /** * Template constructions tokenizer */ abstract class AbstractTokenizer { /** * Current index in string * * @var int */ protected $_currentIndex; /** * String for tokenize * * @var string */ protected $_string; /** * Move current index to next char. * * If index out of bounds returns false * * @return boolean */ public function next() { $stringLength = $this->_string !== null ? strlen($this->_string) : 0; if ($this->_currentIndex + 1 >= $stringLength) { return false; } $this->_currentIndex++; return true; } /** * Move current index to previous char. * * If index out of bounds returns false * * @return boolean */ public function prev() { if ($this->_currentIndex - 1 < 0) { return false; } $this->_currentIndex--; return true; } /** * Move current index backwards. * * If index out of bounds returns false * * @param int $distance number of characters to backtrack * @return bool */ public function back($distance) { if ($this->_currentIndex - $distance < 0) { return false; } $this->_currentIndex -= $distance; return true; } /** * Return current char * * @return string */ public function char() { return $this->_string[$this->_currentIndex]; } /** * Set string for tokenize * * @param string $value * @return void */ public function setString($value) { $this->_string = rawurldecode($value); $this->reset(); } /** * Move char index to begin of string * * @return void */ public function reset() { $this->_currentIndex = 0; } /** * Return true if current char is white-space * * @return boolean */ public function isWhiteSpace() { return $this->_string === '' ?: trim((string)$this->char()) !== $this->char(); } /** * Tokenize string * * @return array */ abstract public function tokenize(); }