在php类中使用配置文件

在php类中使用配置文件,php,file,class,config,Php,File,Class,Config,我对PHP OOP有点陌生,但我对OO背后的概念有相当不错的理解。我希望有一个配置文件,其中包含可以在整个应用程序中使用的常规应用程序数据。很正常,但我不确定该怎么做。我不想创建一个类,然后在每个类中都需要该类、扩展它或需要配置文件。我的配置文件如下所示: <?php $configs = array( 'pagination' => 20, 'siteTitle' => 'Test site', 'description' => 'This is a

我对PHP OOP有点陌生,但我对OO背后的概念有相当不错的理解。我希望有一个配置文件,其中包含可以在整个应用程序中使用的常规应用程序数据。很正常,但我不确定该怎么做。我不想创建一个类,然后在每个类中都需要该类、扩展它或需要配置文件。我的配置文件如下所示:

<?php

$configs = array(
   'pagination' => 20,
   'siteTitle' => 'Test site',
   'description' => 'This is a test description',
   'debug' => true
);

?>

我能想到的唯一办法是:

<?php 

class user {
   public function __construct() {
       require 'config.php';
       if(configs['debug']) {
           echo 'Debugging mode';
       }
   }
}

?>

我看到这个方法的问题是,我必须在我想要使用的每个类中手动包含这个配置文件,这似乎是多余的。理想情况下,我希望将文件包含在绝对根路径中,然后能够使用任何类中的任何值。但是,如果您只需要类外的文件,则该类将无法访问这些值。我也不想创建一个config类,然后每个需要这些值的类都会扩展config类。这似乎又是多余的

我不确定我是否讲得通,我只想用一种简单的方法在每个类中携带配置值并使用它们,而不必键入过多的冗余代码


提前谢谢

在一个类(config.php)中声明一个变量,然后在另一个类中使用它是不好的做法。您应该从配置文件返回配置数组,然后根据需要将其分配给变量或作为参数传递

试着这样做:

<?php

$configs = array(
   'pagination' => 20,
   'siteTitle' => 'Test site',
   'description' => 'This is a test description',
   'debug' => true
);

?>
config.php:

<?php
return array( /* ... config values ... */ );

使用一个引导文件并在其中加载配置。指向一些引导指针的指针:在顶部包括'config.php',然后访问$GLOBALS['config']['debug'],我最后查看了WordPress方法,他们使用php定义了我更喜欢的方法。感谢您的帮助!
<?php
$user = new User(require 'config.php');
$user->someOtherMethod();