Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 设计模式名称:将数据从一种语言移动到另一种语言_Php_Javascript_Design Patterns - Fatal编程技术网

Php 设计模式名称:将数据从一种语言移动到另一种语言

Php 设计模式名称:将数据从一种语言移动到另一种语言,php,javascript,design-patterns,Php,Javascript,Design Patterns,我正在尝试确定此模式的名称(如果存在)。基本上是从一种语言中获取数据并在另一种语言中使用。i、 PHP->Javascript。我想这可能是授权,但我经常看到这样做,我想知道这是一种模式,还是仅仅是一种协议 编辑: 这更清楚地定义了我所说的。您不只是生成一个或另一个代码,而是使用它来发送值。我猜这可以定义为源代码预处理 <?php $foo = $_POST[MY_VAR]; ?> <script> $bar = <?php echo $foo; ?>

我正在尝试确定此模式的名称(如果存在)。基本上是从一种语言中获取数据并在另一种语言中使用。i、 PHP->Javascript。我想这可能是授权,但我经常看到这样做,我想知道这是一种模式,还是仅仅是一种协议

编辑: 这更清楚地定义了我所说的。您不只是生成一个或另一个代码,而是使用它来发送值。我猜这可以定义为源代码预处理

<?php $foo = $_POST[MY_VAR]; ?>
<script>
    $bar = <?php echo $foo; ?>
    alert($bar)
</script>

$bar=
警报($bar)

我认为这根本不是一种设计模式——很可能在更广泛的意义上比通常使用的术语更广泛。您基本上有两个应用程序通过HTTP协议相互通信。使用的语言是不相关的。

如果您想了解的是进程之间的通信,那么请参阅套接字、TCP、HTTP和相关技术以及XML、JSON等数据交换格式

如果您想知道的是如何在用另一种语言编写的程序中使用一种语言编写的代码,就像.Net或各种JVM语言所做的那样,那么您谈论的就是互操作性。请记住,在我提到的两种情况下,两种语言的程序都被编译成一种公共语言(分别是MSIL和Java字节码)

在任何情况下,我都不知道这是否有一个名称,甚至不知道它是否被认为是一种模式

编辑:


因为您特别提到了PHP和JavaScript,所以您的意思可能是使用PHP生成一个带有文本值的JavaScript变量,以便将值从PHP传递给JavaScript代码。这可以被称为源代码预处理,或者可能是代码生成

,就您链接到的示例而言,这不是一种设计模式或协议,PHP和JavaScript之间没有任何互操作性-JavaScript解释器甚至没有像PHP那样运行,反之亦然

您只是简单地将PHP用作JavaScript代码生成器——没有更多,也没有更少


如果您使用JavaScript实时提取信息(通过“Ajax”等),那么至少会有两种语言之间的交互,并且可以(例如)考虑像JSON(或者确实是XML)这样的数据格式是一种形式。但是,本例中的情况并非如此。

您是如何通过-JSON获取数据的,还是通过PHP简单地输出JavaScript变量等?不管怎样,我认为将这种东西称为设计模式是不正确的,尽管JSON在数据互操作性方面可能接近XDR。这里可以看到一个例子:这离设计模式或协议还有很长的距离。您只是简单地将PHP用作JavaScript生成器——没有更多,也没有更少。感谢您的示例,我更新了我的答案以涵盖这种可能性。我用JSP和JavaScriptTrue做了同样的事情。但这并不是真正在协议层面上完成的。它是在以HTML为媒介的地方完成的。然后通过http发送,它不仅仅是一个生成器,例如:$bar=;警报($bar)@Crewe-这只是代码生成。i、 e:这是PHP生成的JavaScript。事实上,它以交互方式将PHP变量的内容放入JavaScript代码中并不重要。(它不是一个代码生成器——只是一种连接静态JavaScript块的方法。)我明白了。。。我想,当我想到“代码生成”时,我想到的是整个语法行,而不仅仅是一个变量。我认为源代码预处理更像是我所得到的。