gpt4 book ai didi

php 函数全局定义的变量不适用于 Yii

转载 作者:行者123 更新时间:2023-12-02 07:37:03 25 4
gpt4 key购买 nike

我在尝试将一些遗留代码添加到 Yii 项目时遇到问题。

它与全局变量有关,我很清楚应该将其作为参数传递,但由于这段旧代码并在其他项目中使用,因此重写它并不是真正的选择。

$testVar = '123';
function testOutput() {
global $testVar;
var_dump($testVar);
}
testOutput();

现在,如果我将这个文件包含在一个普通的 php 文件中,它就可以工作并输出

string '123' (length=3)

但是如果我将这个文件包含在 Yii Controller 中或者甚至在模板中,它会输出这个

null

我试图搜索这个问题,但我只得到一堆关于人们错误地使用全局变量的结果。我确信这实际上不是 Yii 问题,但很可能是 Yii 设置的 php_ini 设置,但在搜索代码或 Yii 文档时我找不到任何可以解释这个问题的内容。

可以通过使用我的第一个代码块创建一个文件然后将其包含到 Yii 模板或 Controller 中来测试这个示例。我什至用一个干净的示例 Yii 项目对其进行了测试。

我希望用 Yii 标记这个问题不会影响我解决这个问题的机会,因为我觉得这不仅仅是一个特定于 Yii 的问题。

如有任何见解,我们将不胜感激。

最佳答案

如果你这样做,它会起作用,我刚刚用 Yii Controller 测试过

global $testVar;
$testVar = '123';
function testOutput() {
global $testVar;
var_dump($testVar);
}
testOutput();

关于php 函数全局定义的变量不适用于 Yii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15209732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com