如何将变量传递给Bootstrap.php

时间:2010-10-13 11:34:55

标签: php zend-framework

有没有办法将变量传递给Bootstrap.php?这就是我在index.php中引导的方式:

// let's go!
$application = new Zend_Application(APPLICATION_ENVIRONMENT,
                                    APPLICATION_PATH.'/configs/application.ini');

try {
    $application->bootstrap();
    $application->run();
} catch (Exception $exception) {
    echo $exception->getMessage();
    exit(1);
}

在我的Bootstrap.php类的一个方法中,我需要访问index.php中的一些变量,使用$ GLOBALS非常糟糕:

protected function _initFilePathConverter()
{
    require_once (PATH_TO_LIB_UTIL.'/FilePathConverter.php');
    $this->aFilePathConverter = new FilePathConverter();
    $this->aFilePathConverter->AddPathPairs($GLOBALS['REAL_PATHS'], $GLOBALS['HTTP_PATHS']);
}

2 个答案:

答案 0 :(得分:3)

您可以使用Zend_Registry

E.g。你可以在index.php中说:

Zend_Registry::set('Real_Paths', array('my', 'paths'));

确保在创建Zend_Application对象后执行此操作,因此Zend自动加载器已初始化。然后在引导程序中:

$real_paths = Zend_Registry::get('Real_Paths');

答案 1 :(得分:-1)

试试这个:

的index.php

<?

$testvar = 'testing';

?>

bootstrap.php中

protected function _initFilePathConverter()
{
    global $testvar;
    echo $testvar;
}