witam,
najpierw przedstawię sytuację kiedy wszystko mi działa
w katalogu /classes mam plik Config.php
<?php
class Config {
private function __construct() {}
public static function getInstance
(){ if(empty(self::$instance)){ self::$instance = new Config();
}
return self::$instance;
}
/*
public function setProperty($name, $val){
$this->data[$name] = $val;
}
*/
public function getProperty($name){
if(!isset($this->data[$name])){ throw new Exception('Nie istniejąca dyrektywa: '.$name);
}
return $this->data[$name];
}
}
?>
kiedy ją dołączam do pliku znajdującego się w tym samym folderze index.php
<?php
require_once('Config.php');
$dane = Config::getInstance();
echo $dane = Config
::getInstance()->getProperty("login");
?>
działa mi prawidłowo, ale jeśli chce to wywołać w innym pliku z innego folderu
<?php
require(DIR_MAIN.'common.php');
try {
echo $dane = Config
::getInstance()->getProperty("login");
} catch (MyException $error){
}
?>
to już niestety nic nie wypisuję? plik common.php dołącza plik /libs/classes.php
<?php
define('DIR_LIBS', '../libs/'); define('DIR_CLASS', 'classes/');
function __autoload($className){
$path = DIR_CLASS."$className.php";
$ok = true;
require_once("$path");
}
if($ok == false){
eval("class $className{};"); throw new MyException("Klasa: $className nie istnieje w ".DIR_LIBS.DIR_CLASS);
}
}
?>
czy to pojawia się ze względu jakiegoś błędu odnośnie ładowania klasy, która jest singletonem poprzez funkcję __autoload()?
pzdr