在javascript中使用php代码是一个好习惯吗?
Is it a good practice to use php code inside javascript?
我听到很多专家说在javascript中输入php代码不是一个好习惯。我想知道这是不是真的。如果是,那么它会影响性能吗?还是有其他原因?
例如:
<?php
$num=1;
?>
<script>
var x = "<?php echo $num;?>";
</script>
不,这不是好的做法。
它会影响性能吗?
我不知道你写那句话时指的是哪种表演,但关于我能想象到的所有表演,我会说:当然,没有。
还有其他原因吗?
混合两种语言很困难,因为它需要正确的编码。这使事情变得复杂。复杂性是一种不好的做法。
通常,使用语言 X 以语言 Y 生成代码是一种不好的做法。
尝试通过使数据成为其唯一的接口来解耦这两种语言 - 不要混合代码。
在您的示例中,您可以通过使用 PHP 填充可用于 JavaScript 的 cfg 结构来改进代码:
https://softwareengineering.stackexchange.com/questions/126671/is-it-considered-bad-practice-to-have-php-in-your-javascript
否 它不会影响性能,但会影响可管理性和安全性。
在你的情况下,你的javascript可以在不知道num
值的情况下运行吗?或者你只是从PHP开发JS脚本?后者是您应该避免的使用。
让我们举一个例子,其中num
被用来了解购物车中的商品数量。这是一个非常重要的信息,但是由于它的JS,它可以很容易地纵。在这种情况下,您应该将此类敏感信息存储在服务器上,而不是客户端上。
几点:
- 您将失去缩小JS脚本的能力,因为它取决于PHP输出
- 代码很快就会变得难以维护。您需要扫描JavaScript代码中的PHP标签。
通常,我声明一个全局配置对象,并在页面加载时通过单独的 ajax 请求将其拉取(这可以是回显 JSON 的 PHP 脚本)。
MyApp : {
x: '123',
y: 'xxx'
}
然后稍后从我的 JavaScript 文件访问它:
(function(){
alert(MyApp.x)
})();
认为这是一个不好的做法,如果值是动态的,你可以这样做,
测试.php
<script type="text/javascript">
var foo = '<?php echo $foo;?>';
</script>
<script type="text/javascript" src="test.js"></script>
测试.js
$(function(){
alert(foo);
});
如果不是动态值,建议不需要使用 php 标签
它没有那么糟糕。将动态 PHP 值分配给 PHP 模板中的 JavaScript 变量(如果可能,作为第一行),然后在外部 JavaScript 文件中调用这些变量。我完全同意@hakre答案。
- 将脚本缓存到本地存储的basket.js概念仍然是一个好主意吗
- 这在JavaScript中是一个好的变量名吗
- 在条形图中呈现数据AngularJS,如何制作一个好的多条形图
- 依赖css的javascript的一个好例子是什么
- I'我在页面加载时将整个$_SESSION变量放入一个json对象中.虽然这对我有效,但这是一个好的做法吗
- 关于如何使用BusterJs资源配置选项的一个好例子
- 寻找一个好的答案字符串圆形物体
- 正在寻找一个好的在线JS obsfucator只用于缩小的目的
- 有没有一个好的框架或方法来重构JavaScript对象
- 对于用NodeJS编写的递归MongoDB归档程序来说,这是一个好的架构吗
- 我们有一个好的javascript调试器吗
- 检测按下了哪个键——这是一个好方法吗
- 有没有一个好的方法来缩短Javascript的承诺
- 从C#Windows Phone应用程序调用Javascript-这是一个好方法吗
- 在javascript中使用php代码是一个好习惯吗?
- 在AngularJS中使用自定义指令和$scope之间的紧密耦合是一个好习惯吗?
- 控制器继承在AngularJS中是一个好习惯吗?
- 如果angular视图直接访问服务,这是一个好习惯吗?
- 根据元素的颜色来验证表单是一个好习惯吗?
- 在React中调用this.props.children上的setState或其他方法是一个好习惯吗?