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[]

URL => $_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.*

これらは明らかに「非永続的なグローバル変数」であり、おそらく$_GET[]PHP$_POST[]では (両方の配列) です。

session.*

それは簡単なことです。 $_SESSION.

application.*

これはおそらく$_SERVERで最もよく近似されます。

そのページには、おそらくあなたの質問に答えるいくつかの他の変数タイプがあります。ただし、PHP のグローバル変数はセキュリティ ホールへの誘因となるため注意が必要です。

于 2012-11-27T02:00:38.007 に答える