ColdFusion和PHP变量
我希望将一些应用程序代码从PHP移植到ColdFusion ColdFusion变量:ColdFusion和PHP变量,php,coldfusion,Php,Coldfusion,我希望将一些应用程序代码从PHP移植到ColdFusion ColdFusion变量: variables.* request.* session.* application.* server.* form.* url.* arguments.* PHP变量 $something $_POST['something'] $_GET['something'] function getSomething($something){ global $someglobal; $somethin
variables.*
request.*
session.*
application.*
server.*
form.*
url.*
arguments.*
PHP变量
$something
$_POST['something']
$_GET['something']
function getSomething($something){
global $someglobal;
$something
...
我不做ColdFusion,但我可以根据你的想法进行一些猜测 首先,PHP并没有明确地按作用域对变量进行分类
variables.*
…只是$var1
或$foo
或其他什么。它的作用域取决于它的位置——它在函数、类、自由等中吗
request.*
这些显然是“非持久性全局变量”,在PHP中可能是$\u GET[]
和$\u POST[]
(两个数组)
这很容易<代码>$\u会话
application.*
这可能是最好的近似值
在这一页上还有其他几种变量类型,它们可能会回答您的问题。不过,请注意,在PHP中,全局变量很快就会导致安全漏洞。以下是ColdFusion中的可用范围,其相应的PHP对应项位于右侧: 如果使用没有作用域前缀的变量名,ColdFusion将按以下顺序检查作用域以查找变量: 本地(仅限本地函数、UDF和CFC)=>无阵列 参数=> 线程本地(仅限内部线程)查询(不是真正的作用域;查询循环中的变量)=> 线程=> 变量=>$GLOBALS[] CGI=>$\u服务器[] Cffile=>$\u文件[] URL=>$\u GET[] 表单=>$\u POST[] Cookie=>$\u Cookie[] 客户端=> 请求=>$\u请求[] 以下是我将用来参考的页面:
您的请求和应用程序有误
$\u GET
映射到Url
,$\u POST
映射到表单
,$\u SERVER
映射到Cgi
(这三个映射都是每个请求范围自动填充的相关变量)。请求只是一个通用的全局/每个请求范围,没有预填充(某些框架除外)。(变量在模板中是每个请求的,但在对象中是持久的,对象本身可以在会话/应用程序/服务器作用域中持久化)应用程序是一个由具有相同应用程序名称的所有脚本共享的持久作用域。(还有一个服务器与PHP的服务器不同,但有点像PHP的phpinfo()函数。)(包含服务器/java/OS/etc版本信息),并且能够在服务器的整个生命周期内持久化对象。)是的,就像我说的,我不做CF…为什么不回答这个问题?你显然比我更了解情况;)如果你是从PHP移植,那么这个问题是反向的/我了解ColdFusion,但不了解PHP,因此您应该确定应用程序使用的PHP作用域,确定它们的作用域,然后您就知道它们映射到什么CF等价物。如果您被这其中的任何一部分所困扰,您可以问一个特定的问题(可能需要相关的代码来给出使用它的上下文,以及这种使用是否理想)。
application.*