/** * Encode the mixed $valueToEncode into the JSON format * * Encodes using ext/json's json_encode() if available. * * NOTE: Object should not contain cycles; the JSON format * does not allow object reference. * * NOTE: Only public variables will be encoded * * @param mixed $valueToEncode * @param boolean $cycleCheck Optional; whether or not to check for object recursion; off by default * @return string JSON encoded object */ public static function encode($valueToEncode, $cycleCheck = false) { if (function_exists('json_encode') && self::$useBuiltinEncoderDecoder !== true) { return json_encode($valueToEncode); } require_once 'Sopha/Json/Encoder.php'; return Sopha_Json_Encoder::encode($valueToEncode, $cycleCheck); }
public function testEncodeClasses() { $encoded = Sopha_Json_Encoder::encodeClasses(array('Sopha_JsonTest_Object', 'Sopha_JsonTest')); $this->assertContains("Class.create('Sopha_JsonTest_Object'", $encoded); $this->assertContains("Class.create('Sopha_JsonTest'", $encoded); }