1

我希望将一些应用程序代码从 PHP 移植到 ColdFusion

ColdFusion 变量:

variables.*
request.*
session.*
application.*
server.*
form.*
url.*
arguments.*

PHP 变量

$something

$_POST['something']
$_GET['something']

function getSomething($something){   
global $someglobal;
$something
...
4

2 回答 2

2

以下是 ColdFusion 中可用的范围以及右侧相应的 PHP 对应范围:

如果您使用不带范围前缀的变量名,ColdFusion 将按以下顺序检查范围以查找该变量:

本地(仅限函数本地、UDF 和 CFC)=> 无数组。

参数 => ?

线程本地(仅在线程内部)查询(不是真正的范围;查询循环中的变量)=>?

线程 => ?

变量 => $GLOBALS[]

CGI => $_SERVER[]

cffile => $_FILES[]

网址 => $_GET[]

表格 => $_POST[]

饼干 => $_COOKIE[]

客户 => ?

请求 => $_REQUEST[]

以下是我用来参考的页面:

http://php.net/manual/en/language.variables.superglobals.php

https://helpx.adobe.com/coldfusion/developing-applications/the-cfml-programming-language/using-coldfusion-variables/about-scopes.html

于 2017-05-16T22:38:27.497 回答
1

我不做 ColdFusion,但我可以根据这个文档进行一些猜测。

对于初学者来说,PHP 不会按范围明确地对其变量进行分类。

variables.*

...只是$var1$foo其他。它的范围取决于它的位置——它是在一个函数、一个类、免费等中。

request.*

这些显然是“非持久性全局变量”,它们可能是PHP 中的$_GET[]$_POST[](两个数组)。

session.*

这很容易。 $_SESSION.

application.*

这可能最好用$_SERVER来近似。

该页面上还有其他几种变量类型,它们可能会回答您的问题。不过要小心,在 PHP 中,全局变量是安全漏洞的快速诱因。

于 2012-11-27T02:00:38.007 回答