Kohana全球正在被清除



我之前写了一个问题,试图在Kohana中使用控制器,但我让步了,重写了文件。现在,我在Kohana控制器中有了这个php脚本。控制器正在呈现的视图"需要"一个php文件,这样我就可以执行一些第三方功能。我遇到了一个大问题,开始调试。问题似乎是包含文件中的函数无法从同一文件中访问函数外的变量。似乎科哈纳正在以某种方式清除全球变暖???

示例:

//controller.php
require_once("ccfunctions.php");
//ccfunctions.php
$test = 'something';
function test(){
  global $test;
  echo $test;
}
test();
//This does not produce anything

对这个有什么想法吗?

编辑:实际上,上面的例子甚至在我正在渲染的视图文件中也不起作用。忘记包含的文件。我意识到Kohana试图强制执行MVC模型,但这太荒谬了。为什么我不能在视图文件中创建一个函数并调用全局变量?

在这两种情况下,都需要为变量指定global

//controller.php
require_once("ccfunctions.php");
//ccfunctions.php
global $test;
$test = 'something';
function test(){
  global $test;
  echo $test;
}
test();
//This does not produce anything

顺便说一句,这真的是一种奇怪的做法,我相信在不使用global 的任何情况下都有变通办法

不要使用全局变量。当你想使用全局变量时,为什么要使用OOP框架?

相关内容

  • 没有找到相关文章

最新更新