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

时间:2011-01-09 14:55:49

标签: php javascript design-patterns

我正在尝试确定此模式的名称(如果存在)。基本上从一种语言中获取数据并在另一种语言中使用它。即PHP - >的JavaScript。我当时认为它可能是委托,但我不时地看到这种情况,并且想知道它是否被认为是一种模式,或者只是一种协议。

修改 这更明确地定义了我在说什么。您不只是生成一个代码或另一个代码,而是使用它来发送值。所以我猜这可以定义为源预处理。

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

3 个答案:

答案 0 :(得分:3)

如果你想知道的是关于进程之间的通信,那么请参阅套接字,TCP,HTTP和相关技术以及XML,JSON和类似的数据交换格式。

如果你想知道的是如何在一个用其他语言编写的程序中使用一种语言编写的代码,就像.Net或各种JVM语言那样,那么你正在谈论的是互操作性关于。请记住,在我提到的两种情况下,两种语言的程序都编译为通用语言(分别是MSIL和Java字节码)。

在任何情况下,我都不知道这是否有名称,或者即使它被视为模式。

编辑:

由于您特别提到了PHP和JavaScript,因此您可能意味着使用PHP生成具有文字值的JavaScript变量,以便您可以将值从PHP传递到JavaScript代码。 可以称为源预处理,或者代码生成

答案 1 :(得分:2)

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

您只是将PHP用作JavaScript 代码生成器 - 仅此而已。

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

答案 2 :(得分:1)

我认为它根本不是一种设计模式 - 也许在广义上比通常使用的术语更广泛。您基本上有两个应用程序通过HTTP协议相互通信。使用的语言无关紧要。