标题: weicky的php变量转换js变量函数-php2js
weicky
新生入学
Rank: 1
注册用户



UID 167819
精华 0
积分 4(积分有什么用?)
帖子 10
阅读权限 10
注册 2006-9-21
状态 离线
发表于 2008-4-29 14:57  资料  个人空间  短消息  加为好友 

Linux爱好者的盛会
weicky的php变量转换js变量函数-php2js

// 支持变量类型:
// int double string array object
// 例:
// $arr = array(
// 'key1' => 'value1',
// 'key2' => 'value2',
// 'key3' => 2334,
// 'key'4 => array(1,2,3)
// );
//  php2js($arr);
// php2js_assign 函数生成一个赋值表达式而不新声明一个js变量
function php2js_assign($js_name,$js_value)
{
        switch(gettype($js_value))
        {
                case "string":
                        $js = "{$js_name} = '{$js_value}';\r\n";
                        break;
                case "double":
                case "integer":
                        $js = "{$js_name} = {$js_value};\r\n";
                        break;
                case "boolean":
                        if($js_value) $js = "{$js_name} = true;\r\n"; else $js = "{$js_name} = false;\r\n";
                        break;
                case "array":
                        $js = "{$js_name} = new Array();\r\n";
                        foreach($js_value as $key => $value)
                        {
                                $sub_name = $js_name."['{$key}']";
                                $js .= php2js_assign($sub_name,$value);
                        }
                        break;
                case "object":
                        $js = "{$js_name} = {};\r\n";
                        $vars = get_object_vars($js_value);
                        foreach($vars as $key => $value)
                        {
                                $sub_name = $js_name."['{$key}']";
                                $js .= php2js_assign($sub_name,$value);
                        }
                        break;
                case "NULL":
                        $js = "{$js_name} = null;\r\n";
                        break;
                default:
                        break;
        }
        return $js;
}
function php2js($js_name,$js_value)
{
        return "var ".php2js_assign($js_name,$js_value);
}


本帖最近评分记录
bwb   2008-4-30 09:57  积分  +1   谢谢推荐
顶部
不容错过的IBM 集群技术资源汇总
bwb (A pilgrim)
超级版主
Rank: 8Rank: 8
管理团队成员


UID 3367
精华 4
积分 111(积分有什么用?)
帖子 10120
阅读权限 150
注册 2001-8-23
来自 The Earth
状态 离线
发表于 2008-4-29 15:14  资料  个人空间  主页 短消息  加为好友  添加 bwb 为MSN好友 通过MSN和 bwb 交谈 Yahoo!
安全性经过测试吗?





林子大了,什么鸟都有......
顶部
不容错过的IBM 集群技术资源汇总
weicky
新生入学
Rank: 1
注册用户



UID 167819
精华 0
积分 4(积分有什么用?)
帖子 10
阅读权限 10
注册 2006-9-21
状态 离线
发表于 2008-4-30 09:05  资料  个人空间  短消息  加为好友 
哇,超级版主啊!
这只是一个转换php变量到js变量的函数,和pear里的HTML_Javascript_Convert一样的作用。
没涉及到什么安全性的问题啊。
你指的是什么?有点不清楚。

顶部
不容错过的IBM 集群技术资源汇总
bwb (A pilgrim)
超级版主
Rank: 8Rank: 8
管理团队成员


UID 3367
精华 4
积分 111(积分有什么用?)
帖子 10120
阅读权限 150
注册 2001-8-23
来自 The Earth
状态 离线
发表于 2008-4-30 09:55  资料  个人空间  主页 短消息  加为好友  添加 bwb 为MSN好友 通过MSN和 bwb 交谈 Yahoo!
鉴于JS超级不安全,不知php2js函数能否避开这个问题。
长时间没有编php了,我对这个函数很有兴趣,不知LZ有没有这方面的测试?





林子大了,什么鸟都有......
顶部
weicky
新生入学
Rank: 1
注册用户



UID 167819
精华 0
积分 4(积分有什么用?)
帖子 10
阅读权限 10
注册 2006-9-21
状态 离线
发表于 2008-5-1 00:03  资料  个人空间  短消息  加为好友 
呵,js的安全性就不属于这个函数的范围了。这个函数目前转换对象还只能做到转换公开成员变量,类的成员函数转换没有实现,估计我也实现不了这个,毕竟PHP和JS的函数完全不相同。

顶部
bwb (A pilgrim)
超级版主
Rank: 8Rank: 8
管理团队成员


UID 3367
精华 4
积分 111(积分有什么用?)
帖子 10120
阅读权限 150
注册 2001-8-23
来自 The Earth
状态 离线
发表于 2008-5-1 08:43  资料  个人空间  主页 短消息  加为好友  添加 bwb 为MSN好友 通过MSN和 bwb 交谈 Yahoo!
谢谢了哈~~~





林子大了,什么鸟都有......
顶部
不容错过的IBM 集群技术资源汇总
 



当前时区 GMT+8, 现在时间是 2008-5-12 10:14

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.066000 second(s), 6 queries

清除 Cookies - 联系我们 - Linux伊甸园 - Archiver - WAP