如何在静态函数中访问动态全局信息

时间:2010-10-29 16:35:55

标签: php

我正在以下列方式设置一些全局配置变量:

$yaml = file_exists('config.yml') ? Spyc::YAMLLoad('config.yml') : array();

$defaults = array(
  'hostname' => 'localhost',
  'base_uri' => '/wag/'
);

$config = array_merge($default, $yaml);

现在我想定义一个返回基本URL的函数base_url($https)。方法体可能只是:

return 'http' . ($https ? 's' : '') . '//' . $config['hostname'] . $config['base_uri'];

但我不知道如何在创建后访问这些默认变量。我该怎么做呢我也愿意找到另一种方法来实现我正在寻找的最终目标(有一个配置变量/常量以及一些实用程序函数来帮助我根据配置数据合成值)。

1 个答案:

答案 0 :(得分:1)

创建一个配置类,定义类变量并使用get / set方法存储和检索参数。

示例:

class Config
{
    private $_hostname = "localhost";
    private $_baseUri;

    public function __construct($_hostname, $baseUri)
    {
        //initialise vars
    }

    public function getHostname()
    {
        return $this->_hostName;
    }

    public function setHostname($hostName)
    {
        $this->_hostName = $hostName;
    }
}