PHP自定义全局变量

Sho*_*291 0 php variables

创建可以在文件之间使用甚至是对象到对象的变量的最佳方法是什么?例:

设置文件将包含如下数组:

<?php
$config = array(
            'key1' => 'val1',
            'key2' => 'val2'
);
?>


<?php
class config {
   function get_data($file){
      require_once('config/'.$file.'.php');
      foreach($config as $key => $val){
           $this->$key = $val;
      }
   }
}
?>
Run Code Online (Sandbox Code Playgroud)

Joh*_*hnP 5

最好的方法是define()在PHP配置文件中使用并在整个站点中包含它.这样可以防止您意外覆盖配置中的值.

但是,问题是,不允许使用数组.仅允许标量和空值.

另一种方法是将配置文件与静态类结合使用.只有静态类应该直接访问该文件,您可以使用该类来获取值.

CakePHP和Zend(以及其他)使用此方法