使 PHP 文件中的 $var 设置在初始文件包含/需要的其他 PHP 文件中工作
Posted
技术标签:
【中文标题】使 PHP 文件中的 $var 设置在初始文件包含/需要的其他 PHP 文件中工作【英文标题】:Make $var set in a PHP file work in other PHP file included/required by the initial one 【发布时间】:2021-10-19 18:36:48 【问题描述】:我在初始 php 文件中有以下代码:
$var = $another_var;
echo 'Some text '.$var.' some more text.';
产生$another_var
的代码不能移动到任何其他文件。
现在我希望将整个初始 PHP 文件的每个文本字符串(包括示例中的那个)放到一个额外的 PHP 文件中,并将 include
或 require
放在初始文件中。像这样:
// required.php file
$text_string_1 = 'Some text '.$var.' some more text.';
和
// Initial PHP file
<?php require('required.php'); ?>
$var = $another_var;
<div><?php echo $text_string_1; ?>
预计它不起作用。我认为这是因为 required.php 文件对 $var
的值一无所知,因为它是在另一个将采用 required.php 的文件中设置的。
有什么解决方法吗?最好让这两个文件尽可能简单。
【问题讨论】:
我不是 100% 清楚您要做什么或您的确切问题是什么。但本质上,它非常简单。如果要在文件 B 中使用在文件 A 中定义的变量,则需要在文件 B 中包含/要求文件 A 才能使用它。然后,您可以在文件 C 中包含文件 B 并访问文件 A 中的变量。不确定这是否是您所要求的。如果不是,请澄清问题。 可能会将外部文件和初始文件视为单个文件。抱歉,我无法更好地解释,英语不是我妈妈的语言。 如果你想用另一个变量写一个变量,比如'foo' . $var . 'bar'
,你必须在这之前定义$var
。在您的示例中,您需要先执行$var = $another_var;
,然后再执行required.php
。
我没有说“内部”。我有吗?
抱歉,我看错了 :-) 在定义变量之前,您根本无法使用或引用变量。如果您想稍后创建字符串和替换部分,则需要实现一些占位符,而不是在您想要使用它们时替换它们。
【参考方案1】:
您可以更改为模板方法。稍后替换:
<?php
$template = 'Hello %s, this could be a solution.';
$txt = sprintf($template, 'Foo');
echo $txt;
输出:
Hello Foo, this could be a solution.
【讨论】:
它只是工作。而且相当优雅。非常感谢您的意见,非常感谢!以上是关于使 PHP 文件中的 $var 设置在初始文件包含/需要的其他 PHP 文件中工作的主要内容,如果未能解决你的问题,请参考以下文章
如何将 PHP 生成的 XML 文件包含到 flash vars 中,同时将当前的 php 函数传递到其中?