* $foo = array( * 'integer' => 9, * 'string' => 'test string', * 'function' => Zend\Json\Expr( * 'function () { window.alert("javascript function encoded by Zend\Json\Json") }' * ), * ); * * Zend\Json\Json::encode($foo, false, array('enableJsonExprFinder' => true)); * // it will returns json encoded string: * // {"integer":9,"string":"test string","function":function () {window.alert("javascript function encoded by Zend\Json\Json")}} * */ class Expr { /** * Storage for javascript expression. * * @var string */ protected $expression; /** * Constructor * * @param string $expression the expression to hold. */ public function __construct($expression) { $this->expression = (string) $expression; } /** * Cast to string * * @return string holded javascript expression. */ public function __toString() { return $this->expression; } }