CakePHP: файл поставщика не может видеть переменные, установленные до его загрузки - PullRequest
0 голосов
/ 30 ноября 2011

Я пытаюсь передать переменную в файл поставщика следующим образом:

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

Внутри моего файла продавца у меня также есть echo '>'.$foo;

В первый раз, когда я загружаю файл вендора, он отлично показывает $ foo. Во второй раз внутри файла vendor он сообщает, что $ foo не определено.

Как передать переменную в файл вендора?

1 Ответ

1 голос
/ 01 декабря 2011

Не ожидаете ли вы такого поведения?

Это потому, что ваша переменная $foo не определена внутри метода App::import(), который вызывает оператор PHP include.

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

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

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

Как насчет простого использования include напрямую?Или создать класс в файле, который вы включаете, и создать его экземпляр?

...