获取一个自执行js函数的PHP?

时间:2015-06-01 23:11:58

标签: javascript php

你有一个.js.php文件,你想用一些动态php控制的变量填充一个自执行函数。

可以吗?应该避免吗?

如果您有类似的东西..

click

其中'd'依赖于某些服务器端魔术,以便客户端获得为其实例定制的js。所以上面的函数会变成..

(function(funkyFresh){
    funkyFresh.someVar = 'this value is important for somebody'; 
})();                       

我猜你可以为不同的人提供不同的功能/文件,但这可以以任何形式工作吗?我在本地运行了一个快速测试,看起来(function(funkyFresh){ funkyFresh.someVar = <?php echo 'this value works better for you' ?>; })(); 语句被作为函数内部的语法错误拾取,所以我不得不将它放在函数之外并命名一些全局函数以供函数使用。有关将这些值放入命名空间的想法吗?

1 个答案:

答案 0 :(得分:0)

我个人完全反对用php生成js。我宁愿做一个ajax调用并返回json。如果我不得不避免使用ajax,那就是这样的:

PHP:

<script>
    window.server_vars = <?php json_encode(["funkyFresh" => ["some_var" => "This value works better for you"]]); ?>;
</script>
<script type="text/javascript" src="/path/to/javascript.js"></script>

使用Javascript:

(function(funkyFresh){
    funkyFresh.someVar = window.server_vars.funkyFresh.some_var; 
})();