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