我试图用Application.cfc重写系统中的.cfc和其他.cfc文件。我不知道它们在cfscript中是如何工作的。我想知道如何在函数中定义变量。例如,onRequestStart()函数如下所示:
function onRequestStart(required string thePage) returntype="boolean" output="false" {
        var request.appCode = "MyApp";
        var request.appName = "Single Page Application";
        var page = listLast(arguments.thePage,"/");
        var onApplicationStart();
        if(!listFindNoCase("Home.cfm,Auth.cfc",page)){
            if(structKeyExists(SESSION, "loggedin") AND SESSION.loggedin EQ false){
                location(url="https://www.myapp.org", addToken="false");
            }
        }
        return true;
    }在定义var变量的情况下,是否需要使用request/session单词?如果我做什么是最佳实践,使用var word还是使用local.variablename?local和variables在cfscript中相同吗?
发布于 2018-06-26 21:21:56
var不等于<cfset>标记,也就是说,当切换到CFScript语法时,您不能进行简单的搜索&替换。
var仅用于局部变量定义。这意味着设置结构和数组项(如request、session和其他作用域变量)不应以var作为前缀。此外,函数调用必须在没有前面的var的情况下编写。
local和var都引用本地范围。尽管如上所述,如果您想通过local.something定义变量,也不需要使用var关键字。
variables,与local相反,指的是页面范围,它可以从组件和任何包含的页面中的任何地方访问。
有关不同作用域的更多信息,您应该使用读取Adobe文档。
https://stackoverflow.com/questions/51044740
复制相似问题