Вы не можете иметь выражение в объявлении класса.
Я бы предложил передать путь в:
public function __construct($path)
{
$this->debug_path = $path;
}
Это даст вам больше гибкости, если вы когда-нибудь захотите изменить путь,вам не нужно менять константу, просто то, что вы передаете.
Или вы можете создать несколько объектов, каждый из которых имеет разные пути.Это полезно, если это класс автозагрузчика, так как вы можете захотеть, чтобы он загружал несколько каталогов.
$autoloader = new Autoload(dirname(SYS_PATH));
$autoloader->register_loader();
class Autoload
{
public $include_path = "";
public function __construct($include_path="")
{
// Set the Include Path
// TODO: Sanitize Include Path (Remove Trailing Slash)
if(!empty($include_path))
{
$this->include_path = $include_path;
}
else
{
$this->include_path = get_include_path();
}
// Check the directory exists.
if(!file_exists($this->include_path))
{
throw new Exception("Bad Include Path Given");
}
}
// .... more stuff ....
}