编辑:PHP和Dart脚本将在客户端运行。
我将在页面加载时运行一个php脚本。然后,我想在dart范围内访问php函数。有可能还是应该将所有东西都移植到 Dart 上?
更加具体;
提前致谢。
最佳答案
没有。 Dart与PHP之间没有干净的通讯方式。使用客户端Dart,您通常会遇到客户端脚本与服务器端脚本的问题。据我所知(使用Google进行搜索),使用服务器端Dart时,两者之间没有互操作性。
客户端脚本与服务器端脚本
在Web开发中,有两种主要的编程语言类:服务器端和客户端。服务器端语言在Web服务器上运行,并确定Web服务器发送以响应HTTP请求的响应。客户端语言在客户端(读取器,浏览器)上运行,并在浏览器中操纵DOM等。
从客户端代码调用服务器端代码就像从没有ssh的计算机上在 friend 计算机上运行命令一样。从客户端语言(function my_client_func() { my_server_func(); }
)直接调用服务器端函数是不可能的。
解决方法
有多种方法可以实现此功能。两个是AJAX和WebSockets。
AJAX允许您异步发出HTTP请求,并在数据到达时对其进行处理。您可以创建一种通过特殊网页或类似网页从服务器检索数据的机制。您可以创建一个名为facebook.com/apps/yourapp/function.php
的页面,并使用name=myFuncitonName&var1=something&var2=else
等参数(function.php?name=myFunction...
)进行调用。
WebSockets允许您创建全双工TCP风格。您可以创建一个PHP WebSocket服务器,该服务器将根据收到的WebSocket消息调用函数,尽管这样做可能会造成安全漏洞。
服务器端语言互操作性
一些服务器端语言提供了与其他此类语言进行互操作的机制。 Dart似乎没有提供调用PHP代码的机制。
解决方法
Dart确实提供了一种以Process类的形式运行流程的机制。您可以使用Process类来调用PHP解释器。
Dart确实提供了与C的互操作性。使用Native Extensions,Dart代码可以调用C函数。基于this问题,C代码可以调用PHP函数。
关于php - 是否可以从dart访问php变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13450285/