【问题标题】:Porting some PHP to ColdFusion将一些 PHP 移植到 ColdFusion
【发布时间】:2010-04-27 04:12:56
【问题描述】:

好的,我正在将一些非常基本的 PHP 转换为端口到客户端只有 CF 的开发服务器。我从来没有使用过它,我只需要知道如何移植一些东西:

<?php
      $pageTitle = 'The City That Works';
      $mainCSSURL = 'header_url=../images/banner-home.jpg&amp;second_color=484848&amp;primary_color=333&amp;link_color=09c&amp;sidebar_color=f2f2f2';
      require('includes/header-inc.php');
?>

我知道:

<cfinclude template="includes/header-inc.cfm">

但是如何将 var 传递给包含,然后如何在后续包含的文件中使用它?

在我的 CSS (main.php) 中我也有(在顶部):

<?php
    header('Content-type: text/css');
    foreach($_GET as $css_property => $css_value) {define(strtoupper($css_property),$css_value);}
?>

我使用这样的常量:

#main-content a {color:#<?= LINK_COLOR ?>;}

我怎样才能让它也与 CF 一起使用?

从没想过我会和 CF 一起工作 :)

【问题讨论】:

    标签: php css variables coldfusion porting


    【解决方案1】:

    Coldfusion 有许多具有不同可见性级别的可变范围。

    我对 PHP 不太熟悉,但我猜这些变量声明可用于请求中的任何代码?

    这相当于“请求”范围。

    在请求范围内设置的任何变量都可用于处理请求的任何代码。

    要在请求范围内设置变量,您只需执行以下操作:

    <cfset request.myVariable = myValue>
    

    或者,在 cfscript 中:

    request.myVariable = myValue;
    

    另一个最常用的范围是“变量”范围。如果您不指定范围,这是默认范围,因此:

    <cfset myVariable = myValue>
    

    等价于

    <cfset variables.myVariable = myValue>
    

    变量作用域对 CFInclude 包含的代码是可见的,因此在您的特定情况下,您可以使用变量作用域或请求作用域。

    这是对 CF 中作用域的引用:

    http://livedocs.adobe.com/coldfusion/8/htmldocs/Variables_30.html

    【讨论】:

    • 到目前为止,我认为这是可行的,但是我该如何使用该变量? $var = '猫';回声 $var;会吐出猫。如何让“pageTitle”打印出来?
    • 内含/header-inc.cfm:#pageTitle#
    • 或者,在 cfscript 中:writeOutput(pageTitle);
    • 输出文本/css mime 类型? 设置适当的 mime 类型标题。这可能会有所帮助:ajlcom.instantspot.com/blog/2006/8/1/…
    【解决方案2】:

    在 CF 中,$_GET 数组成为 url 结构。要遍历它,您可以使用 cfloop:

    http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_j-l_16.html#2393950

    <cfoutput>
    <ul>
    <cfloop collection = #url# item = "key">
     <li>#key# = #url[key]#</li>
    </cfloop>
    </ul>
    </cfoutput>
    

    【讨论】:

    • 完美,工作,但有一个问题,为什么输出?我只有这个: #key# = #url[key]# (除了输出#key# = ...等之外,它的工作原理)每个GET参数
    • 另外,有没有更简单的方法来输出#link_color#?喜欢更短的路吗?
    • 等等,nvm,它会自动获取 URL?!属性?看起来很危险;)但我只是将它用于 CSS
    • 可以环绕整个页面,并且将评估 #link_color# #var2# #var3#。是的,它们都将在 URL 结构中,危险如何? :) 注意你的输出,见 htmlEditFormat()。
    • 该代码用于输出它们。如果您需要进行操作,请在内部使用它们,例如
    猜你喜欢
    • 1970-01-01
    • 2021-01-09
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    相关资源
    最近更新 更多