【发布时间】:2025-12-03 15:50:01
【问题描述】:
像这样:
<script>
setSomeStuffUp();
<?php if ($otherStuffNeedsToBeDone === true) { ?>
doSomeOtherStuff();
<?php } ?>
breakSomeStuffDown();
</script>
在工作中遇到了类似的东西——用模板(Smarty)完成,所以它看起来有点干净——但不是很多!还呼应了一些用于诸如 jQuery 选择器之类的模板变量,以及其他看起来不愉快的小东西。
这样做的正确方法是什么?通过AJAX将JS中需要用于逻辑的数据加载为JSON? HTML 数据属性?
它只是闻起来很糟糕,很糟糕,很糟糕。
谢谢大家。
【问题讨论】:
-
我自己通常不会做这样的事情,但一直都在看,据我所知,使用服务器端语言输出 javascript 或其他任何事情都没有错,一个在服务器上,另一个在客户端,它们并没有真正交互。
-
看不出有什么问题。
-
我看不出有什么问题,但是我尽我所能远离它以保持客户端和服务器端之间的分离。
-
只要doSomeOtherStuff()中的块;代码量不是很大我觉得可以接受。
-
没有错。但是,我倾向于逃避这些事情。正如 Oscar Jara 所说,使用语言 X 生成语言 Y 的代码是不好的做法。尝试将 PHP 和 JS 解耦,甚至 HTML 和 JS 更好。
标签: php javascript jquery html