The problem should be fixed with this:
// config.php
class Config {
public static $Setting1 = 'value';
public static $Setting2 = 'value';
}
// main.php
include('config.php');
class Main {
private $Info = null;
private $Db = null;
public function _construct() {
$this->Info = new Info();
$this->Db = new Db();
}
public function getSetting($a) {
return $this->Info->getSetting($a);
}
}
class Info {
public function getSetting($a) {
if ($a>0) return Config::$Setting1;
return Config::$Setting2;
}
}
class Db {
public function _construct() {
$Setting1 = Config::$Setting1;
}
}
// index.php
$Main = new Main();
echo $Main->getSetting(1);