1

编辑:PHP 和 Dart 脚本将在客户端运行。

我将在我的页面加载时运行一个 php 脚本。然后我想访问 dart 范围内的 php 函数。有可能还是我应该将所有东西都迁移到飞镖?

更加具体;

  • 我正在尝试开发一个 facebook 应用程序(使用 facebook php sdk),
  • 我已经写了几篇“Hello, World!”。网络应用程序,
  • 这就是我现在获得的所有经验。

提前致谢。

4

1 回答 1

1

没有。Dart 和 PHP 之间没有干净的通信方式。使用客户端 Dart,您会遇到客户端脚本与服务器端脚本的正常问题。使用服务器端 Dart,据我所知(用谷歌研究),两者之间没有互操作性。

客户端与服务器端脚本

在 Web 开发中,有两大类编程语言:服务器端和客户端。服务器端语言在 Web 服务器上运行,并确定 Web 服务器发送的响应以回复 HTTP 请求。客户端语言在客户端(读取、浏览器)上运行并在浏览器中操作 DOM 等。

从客户端代码调用服务器端代码就像从没有 ssh 的计算机上在您朋友的计算机上运行命令一样。从客户端语言 ( function my_client_func() { my_server_func(); }) 直接调用服务器端函数是不可能的。

解决方法

有多种方法可以实现此功能。两个是 AJAX 和 WebSockets。

AJAX允许您异步发出 HTTP 请求并在数据到达时对其进行操作。您可以创建一种机制,通过特殊网页或类似的方式从服务器检索数据。您可以创建一个名为的页面并使用诸如等()facebook.com/apps/yourapp/function.php之类的参数调用它。name=myFuncitonName&var1=something&var2=elsefunction.php?name=myFunction...

WebSockets允许您创建全双工 TCP 样式。您可以创建一个 PHP WebSocket 服务器,该服务器将根据收到的 WebSocket 消息调用函数,但这可能会造成安全漏洞。

服务器端语言互操作性

一些服务器端语言提供与其他此类语言互操作的机制。Dart 似乎没有提供调用 PHP 代码的机制。

解决方法

Dart 确实提供了一种以 Process 类的形式运行进程的机制。您可以使用 Process 类来调用 PHP 解释器。

Dart 确实提供了与 C 的互操作性。使用Native Extensions,Dart 代码可以调用 C 函数。基于这个问题,C代码可以调用PHP函数。

于 2012-11-19T09:07:04.623 回答