使用包含文件中的变量回显变量
echo variable with variable from included file
所以基本上我无法完成的是回显一个变量,该变量包含包含文件中的变量。
解释:
我有 3 个文件:
index.php
system/functions.php
system/config.php
每个文件都包含另一个文件,因此它们像一个文件一样工作(索引除外)
system/functions.php 包含:
include_once $_SERVER['DOCUMENT_ROOT'].'/system/config.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/system/connection.php';
system/config.php 包含:
include_once $_SERVER['DOCUMENT_ROOT'].'/system/functions.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/system/connection.php';
没有问题,他们一起工作没有问题,他们可以成功地在他们之间传递变量。 但是
当我想:
echo $message;
在index.php上,输出的只是来自变量的字符串,跳过包含文件中的其他变量...
在这种情况下,functions.php 文件包含
$message = $varfromconfig."Some String";
其中 config.php 包含
$varfromconfig = "someword ";
当我将 $message
回显到 index 页面时,只有 string Some String
是 returned,没有配置变量...为什么? (应该returnsomeword Some String
)
谢谢。
当然,index.php 包含配置和功能...
include_once 'system/config.php';
include_once 'system/connection.php';
include_once 'system/functions.php';
在 index.php 执行此操作:
//include_once 'system/config.php'; remove this include from index.php
include_once 'system/connection.php';
include_once 'system/functions.php';
或,这样做:
include_once 'system/config.php'; remove this include from index.php
include_once 'system/connection.php';
include 'system/functions.php'; //not include_once
当你同时插入两者时,你有一个循环。我想你 config.php 和 functions.php 之间的关系可能比你在这里写的更复杂,所以我会尝试详细说明发生了什么,以便您可以在需要时找到其他解决方案。
在你 运行 index.php 之后,它需要 config.php。然后,在 config.php 内,会发生这种情况:
config.php 插入 functions.php,然后 functions.php插入config.php,config.php插入funtions.php 再次,这将永远保留。所以 php 解释器只是在它发生之前打破循环并只从 config.php 中导入 functions.php,但不要从 functions.php 内部导入 config.php 从 config.php。 (该死的开始)
所以现在我们刚刚通过了 index.php 的第 1 行,并且首先从 config.php 导入了 [= =37=]index.php 然后 functions.php 来自 config.php。解释器首先红色 functions.php,加载它的变量,然后去 config.php 加载它的变量。
因此,首先从functions.php,它运行s $message = $varfromconfig."Some String";
。一旦 config.php 还没有被解释并且 $varfromconfig 仍然是空的,它将 "Some String" 分配给 $message
。然后它 运行s $varfromconfig = "someword ";
,但没有分配给 $message
,因为 $message 分配已经完成。
在第二行,导入了connections.php,然后在第三行尝试导入functions.php,但是functions.php 已经插入。所以include_once
不要让它被导入。
为了解决这个问题,一旦functions.php中的变量需要config.php到运行首先,您只需在 index.php 调用 functions.php 并让 functions.php 自己调用 config.php。另一种解决方案是使用include
而不是include_once
插入functions.php并让它被解释两次。
所以基本上我无法完成的是回显一个变量,该变量包含包含文件中的变量。
解释:
我有 3 个文件:
index.php
system/functions.php
system/config.php
每个文件都包含另一个文件,因此它们像一个文件一样工作(索引除外)
system/functions.php 包含:
include_once $_SERVER['DOCUMENT_ROOT'].'/system/config.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/system/connection.php';
system/config.php 包含:
include_once $_SERVER['DOCUMENT_ROOT'].'/system/functions.php';
include_once $_SERVER['DOCUMENT_ROOT'].'/system/connection.php';
没有问题,他们一起工作没有问题,他们可以成功地在他们之间传递变量。 但是
当我想:
echo $message;
在index.php上,输出的只是来自变量的字符串,跳过包含文件中的其他变量...
在这种情况下,functions.php 文件包含
$message = $varfromconfig."Some String";
其中 config.php 包含
$varfromconfig = "someword ";
当我将 $message
回显到 index 页面时,只有 string Some String
是 returned,没有配置变量...为什么? (应该returnsomeword Some String
)
谢谢。
当然,index.php 包含配置和功能...
include_once 'system/config.php';
include_once 'system/connection.php';
include_once 'system/functions.php';
在 index.php 执行此操作:
//include_once 'system/config.php'; remove this include from index.php
include_once 'system/connection.php';
include_once 'system/functions.php';
或,这样做:
include_once 'system/config.php'; remove this include from index.php
include_once 'system/connection.php';
include 'system/functions.php'; //not include_once
当你同时插入两者时,你有一个循环。我想你 config.php 和 functions.php 之间的关系可能比你在这里写的更复杂,所以我会尝试详细说明发生了什么,以便您可以在需要时找到其他解决方案。
在你 运行 index.php 之后,它需要 config.php。然后,在 config.php 内,会发生这种情况:
config.php 插入 functions.php,然后 functions.php插入config.php,config.php插入funtions.php 再次,这将永远保留。所以 php 解释器只是在它发生之前打破循环并只从 config.php 中导入 functions.php,但不要从 functions.php 内部导入 config.php 从 config.php。 (该死的开始)
所以现在我们刚刚通过了 index.php 的第 1 行,并且首先从 config.php 导入了 [= =37=]index.php 然后 functions.php 来自 config.php。解释器首先红色 functions.php,加载它的变量,然后去 config.php 加载它的变量。
因此,首先从functions.php,它运行s $message = $varfromconfig."Some String";
。一旦 config.php 还没有被解释并且 $varfromconfig 仍然是空的,它将 "Some String" 分配给 $message
。然后它 运行s $varfromconfig = "someword ";
,但没有分配给 $message
,因为 $message 分配已经完成。
在第二行,导入了connections.php,然后在第三行尝试导入functions.php,但是functions.php 已经插入。所以include_once
不要让它被导入。
为了解决这个问题,一旦functions.php中的变量需要config.php到运行首先,您只需在 index.php 调用 functions.php 并让 functions.php 自己调用 config.php。另一种解决方案是使用include
而不是include_once
插入functions.php并让它被解释两次。