web/lib/Zend/Json/Expr.php
changeset 64 162c1de6545a
parent 19 1c2f13fd785c
child 68 ecaf28ffe26e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/Zend/Json/Expr.php	Fri Mar 11 15:05:35 2011 +0100
@@ -0,0 +1,80 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Json
+ * @subpackage Expr
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id: Expr.php 20096 2010-01-06 02:05:09Z bkarwin $
+ */
+
+/**
+ * Class for Zend_Json encode method.
+ *
+ * This class simply holds a string with a native Javascript Expression,
+ * so objects | arrays to be encoded with Zend_Json can contain native
+ * Javascript Expressions.
+ *
+ * Example:
+ * <code>
+ * $foo = array(
+ *     'integer'  =>9,
+ *     'string'   =>'test string',
+ *     'function' => Zend_Json_Expr(
+ *         'function(){ window.alert("javascript function encoded by Zend_Json") }'
+ *     ),
+ * );
+ *
+ * Zend_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")}}
+ * </code>
+ *
+ * @category   Zend
+ * @package    Zend_Json
+ * @subpackage Expr
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Json_Expr
+{
+    /**
+     * Storage for javascript expression.
+     *
+     * @var string
+     */
+    protected $_expression;
+
+    /**
+     * Constructor
+     *
+     * @param  string $expression the expression to hold.
+     * @return void
+     */
+    public function __construct($expression)
+    {
+        $this->_expression = (string) $expression;
+    }
+
+    /**
+     * Cast to string
+     *
+     * @return string holded javascript expression.
+     */
+    public function __toString()
+    {
+        return $this->_expression;
+    }
+}