CakePHP:供应商文件在加载之前无法看到变量集

时间:2011-11-30 17:53:04

标签: cakephp cakephp-1.3

我正在尝试将变量传递给供应商文件,如下所示:

    echo '>'.$foo;
    App::import('Vendor', 'foo'.DS.'bar');

在我的供应商文件中,我也有echo '>'.$foo;

我加载供应商文件之前第一次回复$ foo就好了。第二次在供应商文件中,它告诉我$ foo没有定义。

如何将变量传递给供应商文件?

1 个答案:

答案 0 :(得分:1)

你不期望这种行为吗?

这是因为您的$foo变量未在App::import()方法中定义,该方法调用PHP include语句。

$defined = 'fooBar'; // define
foo(); // call foo()

function foo()
{
  echo $defined; // undefined
  bar();
}

function bar()
{
  echo $defined; // undefined
}

直接使用include怎么样?或者在您包含的文件中创建一个类并实例化它?