(PECL spl_types >= 0.1.0)
Examples:
SplString usage example
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$string new SplString("Testing");
 
try {
    $string array();
catch (UnexpectedValueException $uve) {
    echo $uve->getMessage() . PHP_EOL;
}
 
var_dump($string);
echo $string// Outputs "Testing"
?>

The above example will output:

Value not a string
object(SplString)#1 (1) {
  ["__default"]=>
  string(7) "Testing"
}
Testing