- var_dump: documentation ( source)
- method_exists: documentation ( source)
<?php
class Thing
{
public function __call($name, $params)
{
return 'foo';
}
}
function can_be_string($var) {
return $var === null || is_scalar($var) || (is_object($var) && method_exists($var, '__toString'));
}
$a = new Thing;
var_dump(can_be_string($a));
(string) $a;