| 
<?php/**
 *@package extendObj
 *@author Tianfan<[email protected]>
 *@license Apache License 2.0
 *@varsion 0.0.2
 *@description this package is a part of hawkphp  framework  v2(haven't released)
 */
 namespace hawkphp;
 
 class stringObj {
 
 private $_string;
 
 public function __toString(): string {
 return $this->_string;
 }
 
 public function __construct(string $string) {
 $this->_string = $string;
 }
 
 public function addCslashes(string $charList): stringObj {
 return new stringObj(\addcslashes($this->_string, $charList));
 }
 
 public function addslashes(string $charList): stringObj {
 return new stringObj(\addslashes($this->_string, $charList));
 }
 
 public function bin2hex(): stringObj {
 return new stringObj(\bin2hex($this->_string));
 }
 
 public function length(): intObj {
 return new intObj(\strlen($this->_string));
 }
 
 public function md5(bool $output = false): stringObj {
 return new stringObj(\md5($this->_string, $output));
 }
 
 public function substr(): stringObj {
 $params = \func_get_args();
 return new stringObj(\substr($this->_string, ...$params));
 }
 
 public function sha1(bool $output = false): stringObj {
 return new stringObj(\sha1($this->_string, $output));
 }
 
 public function chunkSplit(): stringObj {
 $params = \func_get_args();
 return new stringObj(chunk_split($this->_string, ...$params));
 }
 
 public function crc32(): intObj {
 return new intObj(\crc32($this->_string));
 }
 
 public function crypt(): stringObj {
 $params = \func_get_args();
 return new stringObj(\crypt($this->_string, ...$params));
 }
 
 public function echo(): void {
 echo $this->_string;
 }
 
 public function explode($delimiter): arrayObj {
 return new arrayObj(\explode($delimiter, $this->_string));
 }
 
 public function rtrim(): stringObj {
 //todo
 }
 
 public function trim(): stringObj {
 //todo
 }
 
 public function ord(): intObj {
 return new intObj(ord($this->_string));
 }
 
 public function replace(string $repacement, string $replace, int $count = 1): stringObj {
 return new stringObj(\str_replace($repacement, $replace, $this->_string, $count));
 }
 
 public function isEmpty(): bool {
 return empty($this->_string) ? true : false;
 }
 
 public function test(string $regexp): bool {
 return \preg_match($regexp, $this->_string);
 }
 
 public function match(string $regexp, bool $matchAll = false): ?arrayObj {
 $match = "";
 if ($matchAll == false) {
 if (\preg_match($regexp, $this->_string, $match)) {
 return new arrayObj($match);
 } else {
 return false;
 }
 } elseif ($matchAll == true) {
 if (\preg_match_all($regexp, $this->_string, $match) != 0) {
 return new arrayObj($match);
 } else {
 return false;
 }
 }
 }
 
 public function jsonDecode(): object {
 return \json_decode($this->_string, false);
 }
 
 }
 
 |